我正在尝试创建一个下拉列表,其中包含工作簿中其他工作表的名称。当我从下拉列表中选择其中一个名称时,我希望它从该表中获取所有人的名字,并通过下拉列表显示在工作表上。但我无法弄明白。
答案 0 :(得分:0)
使用此代码:
Dim SheetSel As Boolean
Sub InitCMB()
ComboBox1.Clear
For Each xx In Sheets
ComboBox1.AddItem xx.Name
Next
SheetSel = True
End Sub
Private Sub ComboBox1_Change()
If SheetSel = True Then
e = ComboBox1.ListIndex + 1
SheetSel = False
ComboBox1.Clear
ComboBox1.AddItem ".."
For i = 1 To 9999
If Sheets(e).Range("A" & i).Value = "" Then Exit For
ComboBox1.AddItem Sheets(e).Range("A" & i).Value
Next
Else
If ComboBox1.Value = ".." Then InitCMB
End If
End Sub
您在组合中插入表格的名称(InitCMB) 如果选择一个工作表,则宏会将名称从A1加载到所选工作表的末尾 在列表中添加顶部“..”,如dir。当您选择“..”时,您将返回到工作表列表。