编辑VBA脚本Userform

时间:2018-04-04 18:23:57

标签: excel-vba userform vba excel

Private Sub CommandButton1_Click()
Dim Sheetname As String
whichSheet = InputBox("In which sheet do you wish to enter data? Type in sheet name as Toner, Copy Paper, Alteration, Mail Package, Gloves, and Special Requests.", "Input")
Dim ws As Worksheet
For Each ws In Worksheets
    Select Case ws.CodeName
        Case "Toner", "Copy Paper", "Mail Package", "Alteration", "Gloves", "Special Requests"
            Worksheets(whichSheet).Activate ws.Name
        Case Else
            If ws.CodeName <> ("Toner")("Copy Paper"), "Mail Package", "Alteration", "Gloves", "Special Requests") Then
            MsgBox "Please use another Sheet name"
            Exit Sub
            End If
    End Select
Next ws

大家好,我试图使用确切的工作表名称作为输入来使这个代码在Excel中打开特定工作表。如果工作表名称不存在或拼写不正确,则应显示&#34;请使用另一个工作表名称&#34;信息。到目前为止我有这个,但它甚至不会识别正确的表名。感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

如果我理解正确,我认为你过于复杂,这就足够了。您只需要检查通过输入框输入的工作表名称,如果它位于第一个列表中,则激活它(我假设)。

Private Sub CommandButton1_Click()

Dim whichSheet As String
whichSheet = InputBox("In which sheet do you wish to enter data? Type in sheet name as Toner, Copy Paper, Alteration, Mail Package, Gloves, and Special Requests.", "Input")

Select Case whichSheet
    Case "Toner", "Copy Paper", "Mail Package", "Alteration", "Gloves", "Special Requests"
        Worksheets(whichSheet).Activate
    Case Else
        MsgBox "Please use another Sheet name"
        Exit Sub
End Select

End Sub