我可以在我的用户窗体中不使用 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
我在 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