2011-04-08 101 views
2

工作簿中共有五張工作表。我的任務是在第一張紙上創建一個組合列表按鈕,可以指向其他四張。如果用戶選擇其中一個表格名稱,則該按鈕將自動激活所選表格。紙張不太可能被刪除,儘管可能會添加紙張。如何爲工作表製作一個下拉列表

我甚至不知道如何讓表單名顯示在組合列表中。

回答

9

爲了使組合框更改活動表,我相信你需要使用VBA(因爲我不知道如何使用驗證列表)。

要做到這一點,你必須:

1 - 添加一個組合框到您的第一板和正確命名(我把它叫做cmbSheet)。我建議使用ActiveX Combobox(在Excel 2007中的「開發人員」選項卡下)。

2nd - 打開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 

現在,當組合框值發生變化時,相應的工作表被激活。

讓我們知道,如果有什麼不明確的,我們會幫助你。

+0

這似乎不起作用。下拉列表不填充工作表名稱。 – TylerH 2016-08-04 18:33:50