Excel 宏内置在PC上,用于选择文件夹。需要在Mac上工作

Excel 宏内置在PC上,用于选择文件夹。需要在Mac上工作,excel,vba,macos,button,Excel,Vba,Macos,Button,我已经制作了这个宏按钮。我得到一个错误后,立即按下按钮,因为这是专为工作在PC上 该文件只是询问要格式化的excel文件的位置。我只需要在Mac上使用它,那么有人可以更改代码,允许从Mac环境而不是Windows环境打开文件吗 这是visualbasic编辑器 Sub Johnny_Calculations() Dim TotalRow As String Dim wb As String Dim ws As String With Application.

我已经制作了这个宏按钮。我得到一个错误后,立即按下按钮,因为这是专为工作在PC上

该文件只是询问要格式化的excel文件的位置。我只需要在Mac上使用它,那么有人可以更改代码,允许从Mac环境而不是Windows环境打开文件吗

这是visualbasic编辑器

Sub Johnny_Calculations()

    Dim TotalRow As String
    Dim wb As String
    Dim ws As String


    With Application.FileDialog(msoFileDialogOpen)
        .Show
        .Title = "Choose File"
        .AllowMultiSelect = False
    If .SelectedItems.Count = 1 Then
        Path = .SelectedItems(1)
    End If
    End With

    Workbooks.OpenText Filename:= _
        Path _
        , Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier _
        :=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:= _
        True, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array( _
        1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, _
        1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), Array _
        (15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array(20, 1), Array(21, 1), _
        Array(22, 1), Array(23, 1)), TrailingMinusNumbers:=True

    wb = ActiveWindow.Caption
    ws = ActiveSheet.Name

    TotalRow = WorksheetFunction.Match("Total", Range("A:A"), 0)

    Rows(TotalRow & ":" & TotalRow).Select
    Selection.ClearContents

       File = "Johnny Calculations.xlsm"

    Workbooks(File).Worksheets("Sheet2").Activate
    Workbooks(File).Worksheets("Sheet1").Range("B2:C22").Copy


    Windows(wb). _
        Activate
    Sheets.Add After:=ActiveSheet
    Range("B2").Select
    ActiveSheet.Paste
    Columns("B:C").Select
    Selection.ColumnWidth = 16.86
    Range("C3").Select
    Application.CutCopyMode = False



    'calculations
    ActiveCell.FormulaR1C1 = "=SUM('" & wb & "'!C)"
    Range("C6").Select
    ActiveCell.FormulaR1C1 = "=SUM('" & wb & "'!C[3])"
    Range("C7").Select

    ActiveCell.FormulaR1C1 = "=R[-1]C/R[-4]C"
    Range("C7").Select

    Range("C8").Select
    ActiveCell.FormulaR1C1 = _
        "=SUM('" & wb & "'!C[4])/SUM('" & wb & "'!C)"
    Range("C10").Select
    ActiveCell.FormulaR1C1 = "=SUM('" & wb & "'!C[5])"


    Range("C11").Select
    ActiveCell.FormulaR1C1 = _
        "=SUM('" & wb & "'!C[5])/SUM('" & wb & "'!C[4])"
    Range("C12").Select
    ActiveCell.FormulaR1C1 = _
        "=SUM('" & wb & "'!C[6])/SUM('" & wb & "'!C[3])"
    Range("C13").Select
    ActiveCell.FormulaR1C1 = "=R[-3]C/R[-7]C"
    Range("C15").Select
    ActiveCell.FormulaR1C1 = "=SUM('" & wb & "'!C[7])"
    Range("C16").Select
    ActiveCell.FormulaR1C1 = "=R[-1]C/R[-6]C"
    Range("C17").Select
    ActiveCell.FormulaR1C1 = "=SUM('" & wb & "'!C[10])"
    Range("C19").Select
    ActiveCell.FormulaR1C1 = "=SUM('" & wb & "'!C[8])"
    Range("C20").Select
    ActiveCell.FormulaR1C1 = "=IFERROR(R[-1]C/R[-5]C,""No Complaints"")"
    Range("C21").Select
    ActiveCell.FormulaR1C1 = "=SUM('" & wb & "'!C[9])"
    Range("C22").Select

    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "=R[-1]C/R[-19]C"
    Range("C23").Select

End Sub

“…那么,有人可以更改代码,允许从Mac环境而不是Windows环境打开文件吗?”到目前为止,您尝试了什么?错误发生在哪一行?此外,您还可以通过以下方式大大“收紧”代码:我什么都没试过。我根本不是一个程序员。这是为我建造的东西。我得到一个错误“Compile error:Named Argument not found”。它发生在什么平台上?(弹出错误窗口时单击“调试”)调试不是选项。它只是显示那个错误。当它运行时(在VB中)唯一突出显示的是TrailingMinusNumbers:=如果删除该部分,
,TrailingMinusNumbers:=True
,它是否按预期运行?