【发布时间】:2020-04-24 11:07:00
【问题描述】:
在运行宏的其余部分之前,我正在尝试进行一些故障保护以检查正确的工作表是否处于活动状态。该工作表始终是最后一个工作表,它始终包含一个特定的字符串,但它也包含一个数字,并且可能会有所不同(例如,字段映射 1、字段映射 2、字段映射 3 等),因此确切的字符串并不总是相同的。我只需要知道活动工作表的名称中包含“字段映射”,无论编号如何。
我需要类似的东西:
Sheets(Sheets.Count).Select
If Not Activesheet.Name contains "Field Map" Then
Msgbox ("Sheet not found")
Exit Sub
End If
我知道“包含”位不存在,但希望这能解释我想要做什么?
【问题讨论】:
-
为什么一定要ActiveSheet?为什么不只查找包含相关名称的工作表?
-
运行宏通常不必选择特定的工作表。只需使用显式引用来引用它。
-
@RonRosenfeld 因为最后会有几个名称相同但数字不同,我需要它来选择最后一个。我想,理想情况下,我会寻找包含“字段地图”并且数字最高的工作表。但我认为这听起来更复杂?
-
这样做会更加健壮。依赖 Active Sheet、Selection、ActiveCell 等通常不是一件好事
-
是的,但这很简单。我看到@JvdV 发布了一个示例。