giúp mình làm công thức này với

  • Thread starter Thread starter xomdep
  • Ngày gửi Ngày gửi
Liên hệ QC

xomdep

Thành viên mới
Tham gia
2/6/16
Bài viết
12
Được thích
1
các anh chị cho hỏi cách làm hàm dq ở cột L dòng 9 như thế nào vậy
 

File đính kèm

các anh chị cho hỏi cách làm hàm dq ở cột L dòng 9 như thế nào vậy
Đây nè bạn, nhưng không biết có vi phạm nội quy không nửa.
Mã:
Public Function DQ(Expr)
    Char = Expr
    Sent = Space(0)
    ABC = "0123456789+-*/().^" & Space(1)
    XYZ = "0123456789" & Space(1)
    For m = 2 To 3
        Met = "m" & m
        Temp = InStr(1, Char, Met)
        Do While Temp > 0
            If Temp > 0 Then
                Char = Left(Char, Temp) & Mid(Char, Temp + 2)
            End If
            Temp = InStr(1, Char, Met)
        Loop
    Next
    For I = 1 To Len(Char)
        KyTu = Mid(Char, I, 1)
        If InStr(1, ABC, KyTu) > 0 Then
            Sent = Sent & KyTu
        Else
            Select Case KyTu
                Case ":"
                    Left_ = Mid(Char, I - 1, 1)
                    Right_ = Mid(Char, I + 1, 1)
                    If InStr(1, XYZ, Right_) > 0 Then
                        Sent = Sent & "/"
                    End If
                Case ","
                    Sent = Sent & "."
                Case "%"
                    Sent = Sent & "/100"
                Case "x", "X"
                    Left_ = Mid(Char, I - 1, 1)
                    Right_ = Mid(Char, I + 1, 1)
                    If InStr(1, XYZ, Right_) > 0 Then
                        Sent = Sent & "*"
                    End If
                Case "^"
                    Sent = Sent & "^"
            End Select
        End If
    Next
    DQ = Application.Evaluate(Sent)     'hoac dung lenh  DQ = Application.Evaluate(sent)
End Function
 
các anh chị cho hỏi cách làm hàm dq ở cột L dòng 9 như thế nào vậy

1- tiêu đề không rỏ ràng, bài bạn sẻ bị xóa
2-hàm dp làm hàm tự tạo, nhấn alt F11 bạn sẻ thấy code trong của sổ vba, tuy nhiên code đã bị khóa
Mã:
Public Function DQ(Expr)
    Char = Expr
    Sent = Space(0)
    ABC = "0123456789+-*/().^" & Space(1)
    XYZ = "0123456789" & Space(1)
    For m = 2 To 3
        Met = "m" & m
        Temp = InStr(1, Char, Met)
        Do While Temp > 0
            If Temp > 0 Then
                Char = Left(Char, Temp) & Mid(Char, Temp + 2)
            End If
            Temp = InStr(1, Char, Met)
        Loop
    Next
    For I = 1 To Len(Char)
        KyTu = Mid(Char, I, 1)
        If InStr(1, ABC, KyTu) > 0 Then
            Sent = Sent & KyTu
        Else
            Select Case KyTu
                Case ":"
                    Left_ = Mid(Char, I - 1, 1)
                    Right_ = Mid(Char, I + 1, 1)
                    If InStr(1, XYZ, Right_) > 0 Then
                        Sent = Sent & "/"
                    End If
                Case ","
                    Sent = Sent & "."
                Case "%"
                    Sent = Sent & "/100"
                Case "x", "X"
                    Left_ = Mid(Char, I - 1, 1)
                    Right_ = Mid(Char, I + 1, 1)
                    If InStr(1, XYZ, Right_) > 0 Then
                        Sent = Sent & "*"
                    End If
                Case "^"
                    Sent = Sent & "^"
            End Select
        End If
    Next
    DQ = Application.Evaluate(Sent)     'hoac dung lenh  DQ = Application.Evaluate(sent)
End Function
3-hàm nhìn có vẻ phức tạp quá há, nếu bạn chỉ có mục đích chuyển biểu thức cột F ra số thì cũng có thể dùng hàm macro4 Evaluate
 
Đây nè bạn, nhưng không biết có vi phạm nội quy không nửa.
Mã:
Public Function DQ(Expr)
    Char = Expr
    Sent = Space(0)
    ABC = "0123456789+-*/().^" & Space(1)
    XYZ = "0123456789" & Space(1)
    For m = 2 To 3
        Met = "m" & m
        Temp = InStr(1, Char, Met)
        Do While Temp > 0
            If Temp > 0 Then
                Char = Left(Char, Temp) & Mid(Char, Temp + 2)
            End If
            Temp = InStr(1, Char, Met)
        Loop
    Next
    For I = 1 To Len(Char)
        KyTu = Mid(Char, I, 1)
        If InStr(1, ABC, KyTu) > 0 Then
            Sent = Sent & KyTu
        Else
            Select Case KyTu
                Case ":"
                    Left_ = Mid(Char, I - 1, 1)
                    Right_ = Mid(Char, I + 1, 1)
                    If InStr(1, XYZ, Right_) > 0 Then
                        Sent = Sent & "/"
                    End If
                Case ","
                    Sent = Sent & "."
                Case "%"
                    Sent = Sent & "/100"
                Case "x", "X"
                    Left_ = Mid(Char, I - 1, 1)
                    Right_ = Mid(Char, I + 1, 1)
                    If InStr(1, XYZ, Right_) > 0 Then
                        Sent = Sent & "*"
                    End If
                Case "^"
                    Sent = Sent & "^"
            End Select
        End If
    Next
    DQ = Application.Evaluate(Sent)     'hoac dung lenh  DQ = Application.Evaluate(sent)
End Function


phức tạp quá bạn nhỉ
 
3-hàm nhìn có vẻ phức tạp quá há, nếu bạn chỉ có mục đích chuyển biểu thức cột F ra số thì cũng có thể dùng hàm macro4 Evaluate[/QUOTE]

bạn có thể chỉ mình hàm macro4 Evaluate được ko
 
Web KT

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

Back
Top Bottom