我可以在我的用户窗体中不使用 commandbutton1 吗?

Could I do without the commandbutton1 in my userform?

我在 Excel 中有一个用于用户表单的 vba 代码。这个用户表单允许我显示一个列表框,其中显示了所有可用的工作表......然后在我的列表框中 selecting 所需的工作表并通过单击我的用户表单一个名为“CommandButton1”的按钮后,它 select给我想要的工作表...但是我想简单地通过 selecting 并在我的列表框中单击我想要的工作表,它 select 给我想要的工作表(这样,我不需要再点击我的用户表单中的按钮“CommandButton1”到 select 我想要的工作表)...如果有人可以帮助我,那就太棒了..非常感谢 advance.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

您只需要 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

顺便说一句,你UserForm_Initialize()可以稍微简化如下

Sub UserForm_Initialize()
    Dim sht As Worksheet

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