Giúp em cách tạo hàm mới hoặc code theo file đính kèm

Liên hệ QC

anphuoc06

Thành viên mới
Tham gia
9/11/09
Bài viết
9
Được thích
1
Em chân thành cảm ơn anh ndu96081631 đã quan tâm tới câu hỏi của em, hôm nay em gửi thêm file đính kèm mong anh ndu96081631 cùng các anh chị trong diễn đàn giúp em
 

File đính kèm

Em chân thành cảm ơn anh ndu96081631 đã quan tâm tới câu hỏi của em, hôm nay em gửi thêm file đính kèm mong anh ndu96081631 cùng các anh chị trong diễn đàn giúp em
Code thế này đây:
PHP:
Function ValExp(ByVal Exp As String)
  Dim Tmp As String, Res As Double
  On Error Resume Next
  Tmp = Replace(Exp, "=", ":")
  Tmp = Mid(Tmp, InStr(Tmp, ":") + 1, Len(Tmp))
  With CreateObject("VBScript.RegExp")
    .Global = True: .Pattern = "[^0-9 + - * / .]"
    Res = Evaluate(.Replace(Tmp, ""))
  End With
  ValExp = Res
End Function
Xem file nha
-----------------
Lưu ý: File của bạn virus cả rừng luôn. Các bạn khác cẩn thận khi mở file
 

File đính kèm

Anh ndu96081631 cái code của anh vẫn bị lỗi 1 số dòng chuỗi công thức nó không hiểu (ví dụ: : 3.6*2.6*0.1-(0.8*0.5+0.2*2)/2=0.536, nhưng khi dùng code của anh lại bằng 0.000) anh xem lại giùm em nhé) Hơn nữa nếu dòng diễn giải của em ở cột A1 là “ xây tường lầu 2: 6*0.2*3.3 “ thí cột B1 sẽ là “3.96 “ tức là em chỉ muốn cột B1 chỉ hiểu và tính biểu thức ở đằng sau dấu “:” thôi, vì khi em làm nếu là phép chia thì em dùng “/ “ chứ không dùng “ : “
 
Lần chỉnh sửa cuối:
Anh ndu96081631 cái code của anh vẫn bị lỗi 1 số dòng chuỗi công thức nó không hiểu (ví dụ: : 3.6*2.6*0.1-(0.8*0.5+0.2*2)/2=0.536, nhưng khi dùng code của anh lại bằng 0.000) anh xem lại giùm em nhé)
Cũng có sơ sót. Cảm ơn bạn phát hiện
Tôi sửa code lại chút:
PHP:
Function ValExp(ByVal Exp As String)
  Dim Tmp As String, Res As Double
  On Error Resume Next
  Tmp = Replace(Exp, "=", ":")
  Tmp = Replace(Exp, " ", "")
  Tmp = Mid(Tmp, InStr(Tmp, ":") + 1, Len(Tmp))
  With CreateObject("VBScript.RegExp")
    .Global = True: .Pattern = "[^0-9 + * / ) ( . -]"
    Res = Evaluate(.Replace(Tmp, ""))
  End With
  ValExp = Res
End Function
Bạn kiểm tra và cho biết còn chổ nào sai nữa không nha!
 

File đính kèm

Ok rồi anh àh , cảm ơn anh nhiều nhé!
 
Web KT

Bài viết mới nhất

Back
Top Bottom