我希望我的格式化宏在与存储宏的工作簿不同的工作簿上运行。到目前为止,我只有以下代码:
Application.ScreenUpdating = False
If ActiveWorkbook.Name <> ThisWorkbook.Name Then
--Do the things i want--
End If
我是否需要有 Dim ___ As 东西来配合它?
抱歉造成任何混淆,用于容纳此宏的主要工作簿将在几个不同的选项卡上包含大量信息。
其他工作簿/原始数据需要宏来格式化,因为会有许多不同类型的原始数据,我计划为每个数据制作一个宏,因为所有内容都会有不同的布局。这主要用作一种保护措施,以防有人不注意并在主报告工作簿上运行它并意外删除了重要信息。
ActiveWorkbook和ThisWorkbook不是变量,因此不需要(不能)被 Dim'ed。
VBA 相当宽容,所以您不必Dim您的变量,这是一个很好的做法,并有助于使您的代码更容易理解,所以通常是一个很好的计划。
使用“保护子句”而不是将代码包含在 if 语句中也可以帮助保持代码简单。