我有一个有点复杂的宏观情况,所以我会尽我所能来解决它。它涉及3个不同工作簿文件之间的交互:
我想象的工作流程如下:加载通用工作表,选择数据和参数文件,运行通用宏以应用一些基本格式。然后,将从参数文件运行具有特定名称和arg列表的公共宏(例如Sub SpecialFormatting(wbk As Workbook)
),以对不属于通用表的数据文件执行更具体的格式化。
如何指定运行宏的工作簿?我想我在某处读过Application.Run
,但我认为只能通过args ByVal
。我需要传递工作簿ByRef
才能编辑它。
我想在这种特定情况下,我可以传递一个带有数据手册名称的字符串,但还有其他选择吗?
答案 0 :(得分:0)
不是Excel和VB的最大粉丝,过去被迫使用它。我不得不尽我所能编写Excel宏来自动化我手动无兴趣的东西。我不久前想出来将工作簿导出为单独的文件:
Set wbSource = ActiveWorkbook
wrkshtYear = Mid(wbSource.FullName, Len(wbSource.FullName) - 7, 4)
For Each sht In wbSource.Worksheets
If sht.Name <> "Totals" Then
newFileName = Replace((strSavePath & "\" & UserNameWindows() & sht.Name & wrkshtYear), " ", "")
If isFileExist(newFileName & ".xlsx") = False Then
sht.Copy
Set wbDest = ActiveWorkbook
wbDest.SaveAs newFileName
wbDest.Close 'Remove this if you don't want each book closed after saving.
End If
End If
Next
也许这会帮助你入门。古德勒克!