최신 버전의 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 포럼) Mac 버전의 Excel에서는 SearchFormat 옵션이 유효하지 않습니다.
다른 것들은 그렇지 않을 수도 있지만 OSX 버전의 Office VBA에 대한 문서를 찾을 수 없기 때문에 MS에서 직접 확인할 수는 없습니다.