Jes*_*mon 2 excel vba excel-vba drop-down-menu
我在工作簿中总共有五张纸.我的任务是在第一个工作表中创建一个能够指向其他四个的组合列表按钮.如果用户选择其中一个工作表名称,则该按钮将自动激活所选工作表.虽然可能会添加工作表,但不太可能删除工作表.
我甚至不确定如何让工作表名称显示在组合列表中.
为了使组合框改变活动表,我相信你需要使用VBA(因为我不知道如何使用验证列表).
要做到这一点,你必须:
第1步 - 在第一张纸上添加一个组合框并正确命名(我称之为cmbSheet).我建议使用ActiveX Combobox(在Excel 2007中,在Developer选项卡下).
第2步 - 打开VBA并将以下代码添加到工作簿代码中.每次打开工作簿时,此代码将使用工作表名称填充组合框.
Private Sub Workbook_Open()
Dim oSheet As Excel.Worksheet
Dim oCmbBox As MSForms.ComboBox
Set oCmbBox = ActiveWorkbook.Sheets(1).cmbSheet
oCmbBox.Clear
For Each oSheet In ActiveWorkbook.Sheets
oCmbBox.AddItem oSheet.Name
Next oSheet
End Sub
Run Code Online (Sandbox Code Playgroud)
3 - 现在,转到第一张表的代码(已添加组合框的代码)并添加将激活组合框中所选表单的代码.代码是
Private Sub cmbSheet_Change()
ActiveWorkbook.Sheets(cmbSheet.Value).Activate
End Sub
Run Code Online (Sandbox Code Playgroud)
现在,当组合框值改变时,相应的纸张被激活.
如果有什么不清楚我们会告诉我们,我们会帮助您.