emconnhaxd
Thành viên chính thức


- Tham gia
- 10/1/10
- Bài viết
- 51
- Được thích
- 0
=EVALUATE(IFERROR(RIGHT('Tinh khoi luong'!B7,LEN('Tinh khoi luong'!B7)-FIND(":", 'Tinh khoi luong'!B7)-1),'Tinh khoi luong'!B7))
=EVALUATE(RIGHT('Tinh khoi luong'!B7,LEN('Tinh khoi luong'!B7)-IFERROR(FIND(":", 'Tinh khoi luong'!B7),-1)-1))
Chia sẻ với các bạn file tôi đã được trợ giúp. Chắc trong Dự toán cũng cần phải có code để tính toán chứ không đơn thuần là hàm EVALUATE.Khi sử dụng Evaluate mình đánh biểu thức "5*6*7" thì hàm có thể tính kết quả
Khi mình đánh " Bê tông cột: 5*6*7" thì hàm không hiểu
Xin mọi người khắc phục giúp
File của bạn khá hay. mình se thử xem nó thế nào rồi mình hỏi lạiChia sẻ với các bạn file tôi đã được trợ giúp. Chắc trong Dự toán cũng cần phải có code để tính toán chứ không đơn thuần là hàm EVALUATE.
CHia sẻ với bạn code mình được bạn quanluu1989 giúp nèFile của bạn khá hay. mình se thử xem nó thế nào rồi mình hỏi lại
[COLOR=#000000][I]Function ValueEval(rng As String)[/I][/COLOR]Dim i As Integer
Dim strTemp As String
rng = Application.Trim(Right(rng, Len(rng) - InStr(rng, ":")))
rng = Replace(rng, "m2", "")
rng = Replace(rng, "m3", "")
For i = 1 To Len(rng)
Select Case Asc(Mid(rng, i, 1))
Case 40 To 57, 94
strTemp = strTemp & Mid(rng, i, 1)
End Select
Next i
strTemp = Replace(strTemp, ",", ".")
strTemp = Replace(strTemp, "/*", "*")
strTemp = Replace(strTemp, "/+", "+")
strTemp = Replace(strTemp, "/-", "-")
strTemp = Replace(strTemp, "//", "/")
If Right(strTemp, 1) = "/" Then strTemp = Left(strTemp, Len(strTemp) - 1)
ValueEval = Evaluate(strTemp) [COLOR=#000000][I]End Function[/I][/COLOR]
Kiểm tra giúp mình tại sao sheet 1 không được mà sheet 2 lại được nhéBạn nháy chọn ô C7 và sửa name KL lại như sau:
hoặcMã:=EVALUATE(IFERROR(RIGHT('Tinh khoi luong'!B7,LEN('Tinh khoi luong'!B7)-FIND(":", 'Tinh khoi luong'!B7)-1),'Tinh khoi luong'!B7))
Mã:=EVALUATE(RIGHT('Tinh khoi luong'!B7,LEN('Tinh khoi luong'!B7)-IFERROR(FIND(":", 'Tinh khoi luong'!B7),-1)-1))
Mình làm nhưng lỗi không sửa đượcBạn nháy chọn ô C7 và sửa name KL lại như sau:
hoặcMã:=EVALUATE(IFERROR(RIGHT('Tinh khoi luong'!B7,LEN('Tinh khoi luong'!B7)-FIND(":", 'Tinh khoi luong'!B7)-1),'Tinh khoi luong'!B7))
Mã:=EVALUATE(RIGHT('Tinh khoi luong'!B7,LEN('Tinh khoi luong'!B7)-IFERROR(FIND(":", 'Tinh khoi luong'!B7),-1)-1))
Sai link bạn ơi, ko vô dcCHia sẻ với bạn code mình được bạn quanluu1989 giúp nè
http://www.giaiphapexcel.com/forum/showthread.php?117383-Nh%E1%BB%9D-gi%C3%BAp-vi%E1%BA%BFt-code-t%C3%ADnh-to%C3%A1n/page3
Xem bài 28 nhé
Code đó đây :Mã:[COLOR=#000000][I]Function ValueEval(rng As String)[/I][/COLOR]Dim i As Integer Dim strTemp As String rng = Application.Trim(Right(rng, Len(rng) - InStr(rng, ":"))) rng = Replace(rng, "m2", "") rng = Replace(rng, "m3", "") For i = 1 To Len(rng) Select Case Asc(Mid(rng, i, 1)) Case 40 To 57, 94 strTemp = strTemp & Mid(rng, i, 1) End Select Next i strTemp = Replace(strTemp, ",", ".") strTemp = Replace(strTemp, "/*", "*") strTemp = Replace(strTemp, "/+", "+") strTemp = Replace(strTemp, "/-", "-") strTemp = Replace(strTemp, "//", "/") If Right(strTemp, 1) = "/" Then strTemp = Left(strTemp, Len(strTemp) - 1) ValueEval = Evaluate(strTemp) [COLOR=#000000][I]End Function[/I][/COLOR]
Sorry ko hiểu sao lại chạy ra link isachSai link bạn ơi, ko vô dc
Không hiểu dùng code này kiểu gì luônSorry ko hiểu sao lại chạy ra link isach
Đây link nhé
http://www.giaiphapexcel.com/forum/showthread.php?117383-Nhờ-giúp-viết-code-tính-toán
Tại file excel bạn bấm Alt+F11 sau đó chọn insert => moduleKhông hiểu dùng code này kiểu gì luôn