[英]Activating worksheet based on listbox.listindex(0) value
我有一个用户表单,其中包含一个列表框,其中填充了三列。 多选属性设置为单选。
当我 select 或(单击)或突出显示列表框中的一行数据时,我想激活一个与 listbox1.listindex(0).value 同名的工作表。
列表框填充了客户信息。 400 行。
列表框中的第一列是客户 ID。
一个例子是客户 id = abc123,我有一个名为 abc123 的工作表。
因此,通过突出显示或单击客户,它将根据列表框第一列中的客户 ID 激活工作表。
Private Sub Listbox_click()
Dim ws As Worksheet
'Check that the Customer Id sheet exists: On Error Resume Next
Set ws = Sheets(Me.ListBox1.ListIndex(0).Value)
On Error GoTo 0
If ws Is Nothing Then 'missing: MsgBox ("There is not a sheet with this name: " & Me.ListBox1.ListIndex(0).Value _ & vbCrLf & "Correct and retry")
Me.ListBox1.SetFocus
Exit Sub
Else
'it exists:
ws.Activate
End With
End Sub
试一试,将 ListBox 的名称视为“ListBox1”。 在我的评论中,正确的是应用 CTRL+K,而不是 CTRK+L。
Private Sub ListBox1_Click()
Application.EnableEvents = False
Sheets(ListBox1.List(ListBox1.ListIndex)).Activate
Application.EnableEvents = True
End Sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.