目录:
视频: 04資料驗證建立清單方式說明EXCEL函數與VBA資料庫 吳老師) 2024
有时,您可能希望删除Excel工作簿中的所有活动工作表。在这些情况下,您可以使用下面的宏。
宏如何工作
这里的宏循环遍历工作表,将每个工作表名称与活动工作表的名称进行匹配。每次宏循环,它删除任何不匹配的工作表。请注意在步骤4中使用DisplayAlerts属性。这有效地关闭Excel的警告,因此您不必确认每个删除。
<! - 1 - >Sub Macro1()'步骤1:声明变量Dim ws As Worksheet'步骤2:开始循环遍历所有工作表For Each ws In ThisWorkbook。工作表'步骤3:检查每个工作表名称如果ws。名称ThisWorkbook。 ActiveSheet。名称然后'步骤4:关闭警告并删除应用程序。 DisplayAlerts =假ws。删除申请。 DisplayAlerts = True End If'Step 5:Loop to next worksheet Next ws End Sub
宏首先声明一个名为ws的对象。这一步为每个循环的工作表创建一个内存容器。
<! - 2 - >在步骤2中,宏开始循环,告诉Excel它将评估此工作簿中的所有工作表。 ThisWorkbook和ActiveWorkbook之间有区别。 ThisWorkBook对象引用包含代码的工作簿。 ActiveWorkBook对象引用当前活动的工作簿。它们通常返回相同的对象,但是如果运行代码的工作簿不是活动工作簿,则会返回不同的对象。在这种情况下,您不希望在其他工作簿中删除工作表,因此请使用ThisWorkBook。
<! - 3 - >在步骤3中,宏只是比较活动工作表名称和当前正在循环的工作表。
在步骤4中,如果图纸名称不同,则宏将删除图纸。如上所述,您使用DisplayAlerts来禁止从Excel中进行任何确认检查。如果您想在删除工作表之前提醒您,可以省略应用程序。 DisplayAlerts = False。省略DisplayAlerts语句将确保您收到显示的消息,允许您退出删除工作表的决定。
在步骤5中,宏循环返回以获取下一张纸张。在评估完所有纸张后,宏结束。
省略Display-Alerts语句以查看警告消息。如何使用宏
要实现此宏,可以将其复制并粘贴到标准模块中:
-
通过按Alt + F11激活Visual Basic编辑器。
-
在项目窗口中右键单击项目/工作簿名称。
-
选择插入→模块。
-
在新创建的模块中键入或粘贴代码。
在宏中使用ThisWorkbook而不是ActiveWorkbook时,无法从个人宏工作簿运行宏。为什么?因为ThisWorkbook会引用个人宏工作簿,而不是宏应该应用的工作簿。