我在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
答案 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