PC Excel宏在Mac上不起作用

时间:2016-12-16 12:56:48

标签: excel macos vba excel-vba macros

我写了一个宏,它从物流代码中删除了所有非数字字符,并将剩下的数字相乘。在电脑上它是好的,在我的Mac上它不起作用。

这里的代码,可能有人可能会建议我为什么宏不能在mac上运行:

   Function Bek(s)
Static re As Object
Dim x
  If re Is Nothing Then
    Set re = CreateObject("vbscript.regexp")
    re.Pattern = "[0-9.,]+"
    re.Global = True
  End If
  If re.test(s) Then
    Bek = 1
    For Each x In re.Execute(s)
      Bek = Bek * Val(Replace(x, ",", "."))
    Next
  End If
End Function

我也可以根据您的要求附上文件。

P.S。发现了一些信息,mac os可能不支持正则表达式。

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

试试这个。

它分裂并查看字符串的每个部分,并以我认为你想要的方式处理它 试一试,看看它是否有效

Sub ApplesWayOfRegex()


    Str1 = "S10 2000*6000"

    ReDim chars(Len(Str1) - 1)
    For i = 1 To Len(Str1)
        If (IsNumeric(Mid$(Str1, i, 1))) And i <> 1 Then
            chars(i - 1) = Mid$(Str1, i, 1)
        ElseIf (Not IsNumeric(Mid$(Str1, i, 1))) And i = 1 Then
            chars(i - 1) = ""
        Else
            chars(i - 1) = "*"
        End If
    Next

    Mathstr = Join(chars, "")
    MsgBox Application.Evaluate(Mathstr)
End Sub