VBA选择多个工作表宏

  • 本文关键字:工作 选择 VBA excel vba
  • 更新时间 :
  • 英文 :


我花了一些时间寻找答案,但没有找到。

我试图创建一个宏,将根据输入框中的用户输入选择多个工作表,并将其与LIKE操作符结合起来,一次选择所有工作表。每个工作表都有不同的名称,但都以一个5位数开头,例如20001,我可以用它作为选择的标准。

我可以得到这个工作,如果我硬编码5位数的值,并一次选择多个表,但不能让它与输入框值一起工作。我已经尝试了输入框值/变量的不同迭代,但没有任何运气。

示例:

Public Sub SixPayTest()
Dim Bunumber As String
Dim ws As Worksheet
Bunumber = Application.InputBox("Enter BU #")
For Each ws In ActiveWorkbook.Sheets
If ws.Name Like bunumber Then ws.Select (False)
Next ws
End Sub

下面的工作示例将选择我需要的所有工作表,但没有输入框:

Public Sub SixPayTest()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Sheets
If ws.Name Like "*20001*" Then ws.Select (False)
Next ws
End Sub

您需要为类似的值添加通配符。例如:

If ws.Name Like "*" & bunumber & "*" Then
....

更清楚的是在类似条件之前更新值。

bunumber="*" & bunumber & "*"

另外,如果您要查找名称以bnumber开头的工作表,请不要添加第一个*" *"到字符串

最新更新