如果没有用户窗体中的commandbutton1,我能做些什么吗?

时间:2018-09-11 05:33:22

标签: excel vba excel-vba userform

我在Excel中有一个用于用户窗体的VBA代码。此用户窗体允许我显示一个列表框,其中显示了所有可用的工作表...然后,在我的列表框中选择所需的工作表并单击用户窗体中的一个名为“ CommandButton1”的按钮后,它将为我选择所需的工作表...。只需在列表框中选择并单击所需的工作表,即可为我选择所需的工作表(通过这种方式,我无需再在用户窗体中单击“ CommandButton1”按钮即可选择所需的工作表)。 ..如果有人可以帮助我,那真是太好了。.在此先感谢您。Xavi请在下面找到我的代码:

Sub CommandButton1_Click()

    Worksheets(ListBox1.Value).Select
End Sub

Sub UserForm_Initialize()
    Dim n As Integer
    Dim msg As String

    On Error GoTo Exit
    Do
        n = n + 1
        ListBox1.AddItem Sheets(n).Name
    Loop Until n = Worksheets.Count

    If ListBox1.Value.Selected Then
        CommandButton1_Click = True
    Else
        CommandButton1_Click = False
    End If
    Exit:

End Sub

1 个答案:

答案 0 :(得分:1)

您需要的只是ListBox Click事件处理程序:

Option Explicit

Private Sub ListBox1_Click()
    With Me.ListBox1
        If .ListIndex <> -1 Then Worksheets(.Value).Select
    End With
End Sub



Sub UserForm_Initialize()
    Dim n As Integer

    Do
        n = n + 1
        ListBox1.AddItem Sheets(n).Name
    Loop Until n = Worksheets.Count

End Sub

{TW}您UserForm_Initialize()可以如下简化

Sub UserForm_Initialize()
    Dim sht As Worksheet

    For Each sht In Worksheets
        ListBox1.AddItem sht.Name
    Next
End Sub