Macos VBA在Windows Excel上运行,但不在Mac Excel中运行

Macos VBA在Windows Excel上运行,但不在Mac Excel中运行,macos,vba,excel,Macos,Vba,Excel,当我在windows excel上运行VBA时,它可以工作。当我在excel for Mac上运行相同的vba时,它不起作用。然后我单击“调试”,它将显示宏的以下部分 Selection.Replace What:="-", replacement:="/", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Excel f

当我在windows excel上运行VBA时,它可以工作。当我在excel for Mac上运行相同的vba时,它不起作用。然后我单击“调试”,它将显示宏的以下部分

Selection.Replace What:="-", replacement:="/", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False

Excel for Mac上的
SearchFormat
参数不可用:

如果不需要,您可以删除
SearchFormat
ReplaceFormat
,否则如果需要,请使用:


这仍然会在Windows操作系统上使用
SearchFormat
ReplaceFormat
(但在Mac操作系统上不使用,在这种情况下,您需要使用一些附加逻辑),并且不会在Mac操作系统上引发运行时错误。

您的选择是什么?Mac上有什么错误?哪个版本的Excel,2011或2016?无选择。我只是站在A1中运行宏。错误为运行时错误“1004”:应用程序定义的错误或对象定义的错误。Excel 2016谢谢,这对VBA的这一部分有效。无论如何,宏要复杂得多,错误也更多。我现在找到了:ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase,SourceData:=XLData!R1C1:R65536C32),版本:=xlPivotTableVersion10)。CreatePivotTableDestination:=Sheet1!R3C1,TableName:=Product\u Solds,DefaultVersion:=xlPivotTableVersion10
#IF MAC THEN
    Selection.Replace What:="-", replacement:="/", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False
#ELSE
    Selection.Replace What:="-", replacement:="/", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
#END IF