我已经有一段时间了,而且我不明白为什么它不起作用。如果我使用类似" New"这样的值,代码可用于选择工作表,但我无法使cString工作。
Sub SelectTabWithString()
Dim cString As String
Dim ws As Worksheet, flg As Boolean
cString = Application.InputBox("Enter Characters")
For Each ws In Sheets
If LCase(ws.Name) Like cString Then
ws.Select Not flg
flg = True
End If
Next
End Sub
我有10张,6张蓝色,4张绿色。其中5个被命名为" Blue1"," Blue2"等等。我输入" blue"在InputBox中。出于某种原因,在我输入" blue"之后,程序只会切换回VBA窗口。
答案 0 :(得分:2)
如果您有工作表名称,例如" Blue1"," Blue2"," Blue3",则当用户输入"时,当前代码将起作用。蓝色*"
如果您希望用户能够输入" blue",那么您应该将If
语句更改为:
If Instr(LCase(ws.Name), LCase(cString)) > 0 Then