我在最新版本的 Excel for Mac 上遇到此問題。
這是宏:
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 的評論中,並且在微軟論壇)SearchFormat 選項在 Mac 版本的 Excel 中無效。
其他人可能不太好,但我找不到任何關於 Office VBA 的 OSX 版本的文檔,所以我無法直接從 MS 確認它。