如何制作工作表的下拉列表

时间:2011-04-08 22:10:14

标签: excel vba excel-vba drop-down-menu

我在工作簿中总共有五张纸。我的任务是在第一个工作表中创建一个能够指向其他四个的组合列表按钮。如果用户选择其中一个工作表名称,则该按钮将自动激活所选工作表。虽然可能会添加工作表,但不太可能删除工作表。

我甚至不确定如何让工作表名称显示在组合列表中。

1 个答案:

答案 0 :(得分:9)

为了使组合框更改活动表,我相信您需要使用VBA(因为我不知道如何使用验证列表)。

要做到这一点,你必须:

1st - 在你的第一张纸上添加一个组合框并正确命名(我称之为cmbSheet)。我建议使用ActiveX Combobox(在Excel 2007中,在Developer选项卡下)。

第二步 - 打开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

第3步 - 现在,转到第一张工作表的代码(已添加组合框的代码)并添加将激活组合框中所选工作表的代码。代码是

Private Sub cmbSheet_Change()

    ActiveWorkbook.Sheets(cmbSheet.Value).Activate

End Sub

现在,当组合框值发生变化时,相应的工作表将被激活。

如果有什么不清楚,请告诉我们,我们会帮助你。