编辑 VBA 脚本用户表单

Editing VBA script Userform

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

大家好,我正在尝试使用确切的 sheet 名称作为输入来使此代码在 excel 中打开特定的 sheet。如果 sheet 名称不存在或拼写错误,它应该显示 "Please use another Sheet name" 消息。到目前为止我有这个,但它甚至无法识别正确的 sheet 名称。感谢您的帮助。

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

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