Cách tính kết quả trong 1 Textbox

Liên hệ QC

duongprofession153

Thành viên mới
Tham gia
9/11/10
Bài viết
3
Được thích
0
Em làm dự toán công trình nhưng lúc tính khối lượng rất mệt mỏi vì phải nhập lại số liệu để tính kết quả. Em có xem qua về cách sửa dụng VBA để lập nhưng thực sự là chưa rõ lắm. Mong các bác chỉ giáo. Em có gửi kèm theo file lên các bác xem rồi trả lời giùm em nhé. Cám ơn các bác.
 

File đính kèm

Bạn thử hàm người dùng UDF sau:
Mã:
Function ChuyenDoi(Ref As String)
    ChuyenDoi = Evaluate(Ref)
End Function
Chú ý: Nếu bạn để giá trị
Mã:
98*0,35*3*6/100
thì sẽ báo lỗi. Bạn phải sửa lại:
Mã:
98*0.35*3*6/100


Lê Văn Duyệt
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Cám ơn bác Duyệt nhiều. Nhưng nếu trong textbox bao gồm cả chữ và các dấu ngoặc thì sao? E ví dụ như:
Trục 1: (0.2+0.5)*2+(4+2)*4+5*4/2
 
Upvote 0

File đính kèm

Upvote 0
Bạn chép code (củ chuối) này vào Sheet nào bạn cần tính:
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
'----------------------------------------------------------------
    Application.EnableEvents = False
    If Target.Column = 5 And Target.Row > 4 Then ' co tac dung voi cot thu 5, dong lon hon 4
        Set DGiai = Target
        If InStr(DGiai, ":") Then
            Bthuc = Right(DGiai, Len(DGiai) - InStr(DGiai, ":"))
            Bthuc = Replace(Trim(Bthuc), " ", "")
            If Bthuc = "" Then GoTo Thoat
        ElseIf Val(Trim(DGiai)) <> 0 Or Left(Trim(DGiai), 1) = "(" Or Left(Trim(DGiai), 2) = "0." Or Left(Trim(DGiai), 2) = "0," Then
            Bthuc = Replace(Trim(DGiai), " ", "")
        Else: GoTo Thoat
        End If
        Bthuc = Replace(Bthuc, ",", ".")
        Bthuc = Replace(Bthuc, "=", "")
        On Error GoTo Coloi
        Target.Offset(0, 1) = "=" & Trim(Bthuc)
        If Target.Interior.ColorIndex = 19 Then Target.Interior.ColorIndex = xlNone
        GoTo Thoat
Coloi:
        Target.Interior.ColorIndex = 19
    End If
Thoat:
    Set DGiai = Nothing
    Application.EnableEvents = True
    '----------------------------------------------------------------
End Sub

Bạn muốn gõ kiểu gì cũng được (có phát hiện lỗi khi gõ sai), vừa diển giải vừa biểu thức (cách nhau dấu hai chấm), hoặc chỉ biểu thức, ở đây nó đang tính cho cột 5 (E), bạn hãy sửa lại cho phù hợp.
 
Upvote 0
Web KT

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

Back
Top Bottom