使用用户输入的字符串选择Excel工作表

时间:2017-04-18 21:46:14

标签: excel-vba vba excel

我已经有一段时间了,而且我不明白为什么它不起作用。如果我使用类似" 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窗口。

1 个答案:

答案 0 :(得分:2)

如果您有工作表名称,例如" Blue1"," Blue2"," Blue3",则当用户输入"时,当前代码将起作用。蓝色*"

如果您希望用户能够输入" blue",那么您应该将If语句更改为:

If Instr(LCase(ws.Name), LCase(cString)) > 0 Then