바꾸기 메서드가 Mac용 Excel에서 응용 프로그램 정의 또는 개체 정의 오류를 생성합니다.

바꾸기 메서드가 Mac용 Excel에서 응용 프로그램 정의 또는 개체 정의 오류를 생성합니다.

최신 버전의 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에서 직접 확인할 수는 없습니다.

관련 정보