在 Excel for Mac 中,Replace 方法生成应用程序定义或对象定义的错误

在 Excel for Mac 中,Replace 方法生成应用程序定义或对象定义的错误

我在最新版本的 Mac 版 Excel 上遇到了这个问题。

这是宏:

Sub Run()
'
' Run Macro
'

'
    Sheets("Data").Select
    Cells.Select
    Range("BK1").Activate
    Selection.Replace What:="unknown", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

    Sheets("Pivot Table").Select
    ActiveSheet.PivotTables("PivotTable1").PivotCache.Refresh
    ActiveSheet.PivotTables("PivotTable2").PivotCache.Refresh
    ActiveSheet.PivotTables("PivotTable3").PivotCache.Refresh
    ActiveSheet.PivotTables("PivotTable4").PivotCache.Refresh
    Sheets("Formatted Data").Select
    ActiveWorkbook.Worksheets("Formatted Data").AutoFilter.Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Formatted Data").AutoFilter.Sort.SortFields.Add Key _
        :=Range("A4"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Formatted Data").AutoFilter.Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With



End Sub

当我运行它时,我收到 MSFT Visual Basic 错误:

 Run-time error '1004':

 Application-defined or object-defined error

如果我删除这部分,它可以运行良好,但就最终结果而言并不是我所需要的:

Sheets("Data").Select
    Cells.Select
    Range("BK1").Activate
    Selection.Replace What:="unknown", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False

更新

如果我只删除这小部分,宏就会运行,但不确定删除它是否会丢失任何东西:

SearchFormat:=False, _
    ReplaceFormat:=False

答案1

啊,找到了一些参考资料(在 SO 的评论中,并且在MS 论坛) SearchFormat 选项在 Mac 版 Excel 中无效。

其他人可能不是这样,但我找不到有关 OSX 版本 Office VBA 的任何文档,所以我无法直接从 MS 确认这一点。

相关内容