Come fare un elenco a discesa per i fogli di lavoro

Ho un totale di cinque fogli in una cartella di lavoro. Il mio task è quello di creare un button di elenco combo nel primo foglio che sarà in grado di indicare gli altri quattro. Se un utente sceglie uno dei nomi dei fogli, il button triggers automaticamente il foglio scelto. È improbabile che i fogli verranno eliminati, anche se è probabile che i fogli verranno aggiunti.

Non sono neanche sicuro di come get i nomi dei fogli per apparire sulla list combo.

Per fare in modo che la bobina cambia il foglio attivo, credo che dovrai usare VBA (come non so come farlo utilizzando le liste di validation).

Per farlo, devi:

1 ° – Aggiungi un combobox nel tuo primo foglio e denominarlo correttamente (ho chiamato cmbSheet). Suggerisco di utilizzare un Combobox ActiveX (in Excel 2007, sotto la scheda Sviluppatore).

Secondo – Apri VBA e aggiungi il codice riportto di seguito nel codice di lavoro. Questo codice popola la combinazione con i nomi dei fogli di lavoro each volta che viene aperta la cartella di lavoro.

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 ° – Vai ora al codice del tuo primo foglio (where è stato aggiunto il combobox) e aggiungi il codice che attiverà il foglio scelto nel combobox. Il codice è

 Private Sub cmbSheet_Change() ActiveWorkbook.Sheets(cmbSheet.Value).Activate End Sub 

Ora, quando cambia il valore del combo, la rispettiva foglia viene triggersta.

Fateci sapere se qualcosa non è chiaro e ti aiuteremo.