Excel 宏内置在PC上,用于选择文件夹。需要在Mac上工作
我已经制作了这个宏按钮。我得到一个错误后,立即按下按钮,因为这是专为工作在PC上 该文件只是询问要格式化的excel文件的位置。我只需要在Mac上使用它,那么有人可以更改代码,允许从Mac环境而不是Windows环境打开文件吗 这是visualbasic编辑器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.
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
,它是否按预期运行?