繁体   English   中英

根据 listbox.listindex(0) 值激活工作表

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM