Note: The other languages of the website are Google-translated. Back to English

Come eseguire la macro in base al valore selezionato dall'elenco a discesa in Excel?

Eseguire le macro facendo clic sul pulsante di comando è un'attività comune in Excel, ma hai mai provato a eseguire i codici macro in base al valore selezionato dall'elenco a discesa? Significa che quando scegli un elemento dall'elenco a discesa, la macro specifica verrà attivata immediatamente. Questo articolo introdurrà un codice utile per risolvere questo lavoro.

Esegui macro in base al valore selezionato dall'elenco a discesa con codice VBA


freccia blu freccia destra Esegui macro in base al valore selezionato dall'elenco a discesa con codice VBA

Non esiste un modo diretto per completare questa attività, ma il seguente codice VBA può aiutarti, per favore fai come segue:

1. Innanzitutto, crea un elenco a discesa di cui hai bisogno, vedi screenshot:

doc eseguire macro dal menu a discesa 1

2. Quindi fare clic con il pulsante destro del mouse sulla scheda del foglio contenente il menu a discesa che si desidera utilizzare, quindi scegliere Visualizza codice dal menu contestuale e nel file Microsoft Visual Basic per le applicazioni finestra, copia e incolla il seguente codice nel modulo vuoto:

Codice VBA: esegui la macro in base al valore selezionato dall'elenco a discesa:

Private Sub Worksheet_Change(ByVal Target As Range)
	If Not Intersect(Target, Range("E1")) Is Nothing Then
	    Select Case Range("E1")
	        Case "Insert Blank rows": Macro1
	        Case "Hide All Sheets": Macro2
            Case "Convert to Date": Macro3
	    End Select
	End If
	End Sub

doc eseguire macro dal menu a discesa 2

Note:: Nel codice sopra, E1 se la cella contiene l'elenco a discesa, modificare i nomi delle macro e i valori dell'elenco a discesa in base alle proprie esigenze.

3. Quindi salva e chiudi questa finestra di codice, ora, quando selezioni l'elemento Inserisci righe vuote dall'elenco a discesa, verrà attivata la Macro1 e così via ...


Articoli correlati:

Come eseguire la macro quando il valore della cella cambia in Excel?

Come eseguire la macro in base al valore della cella in Excel?

Come eseguire automaticamente la macro prima di stampare in Excel?

Come eseguire la macro facendo clic sui collegamenti ipertestuali in Excel?

Come eseguire la macro quando il foglio viene selezionato da una cartella di lavoro?


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office/Excel 2007-2021 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
fondo officetab
Commenti (6)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
effettivamente funciona pero quiero aplicarlo en varias celdas, que variable debo cambiar?
Questo commento è stato fatto dal moderatore sul sito
C'è un modo per utilizzare il codice VBA per farlo in Access? Grazie
Questo commento è stato fatto dal moderatore sul sito
Ciao!

Al aplicarlo me sale un errore di compilazione: La dichiarazione del procedimento non coincide con la descrizione dell'evento o il procedimento che tiene el mismo nombre. Que quiere decir eso? que debo cambiar/arreglar? Grazia
Questo commento è stato fatto dal moderatore sul sito
Buon giorno. Saresti in grado di eseguire Macro dal menu a discesa per il prossimo: Per eseguire macro e salvare fogli separati per ogni elemento dal menu a discesa? Nel tuo caso dovrebbe apparire così:
1. Esegui la macro e quindi hai separato il foglio con i valori per "Inserisci righe vuote" salvato nella cartella designata
2. Foglio separato con valori per "Nascondi tutti i fogli:" salvato nella cartella designata
3. Foglio separato con i valori per "Converti in data" salvati nella cartella designata.
4. La macro è ora completata


Principalmente sono in grado di impostare tutto questo tranne che la macro cambia automaticamente la selezione dal menu a discesa?


Grazie


Ivan
Questo commento è stato fatto dal moderatore sul sito


PRIMO CODICE PERFETTAMENTE FUNZIONANTEPrivate Sub Worksheet_Change (ByVal Target As Range)
If Not Intersect(Target, Range("D1")) non è niente allora
Seleziona Intervallo casi ("D1")
         Caso "0.5": metà
         Caso "1": Uno
         Caso "1.25": OneTwentyFive
End Select
End If
End Sub
SECONDO CODICE NON FUNZIONANTE (correggere quanto segue)
Modifica sub privato (per valore target come intervallo)
If Not Intersect(Target, Range("D2")) non è niente allora
Seleziona Intervallo casi ("D2")
         Caso "9.53": novevirgolacinquetre
End Select
End If
End Sub
Questo commento è stato fatto dal moderatore sul sito
A co jeśli potrzebuję aby po uruchomieniu makra wszystkie listy rozwijane ustawiły się na jeden z wyborów z listy? W sumie odwrotnie do tego co jest w poście. Czy istnieje na to łatwiejszy sposób?
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite

Seguici

Copyright © 2009 - www.extendoffice.com. | Tutti i diritti riservati. Offerto da ExtendOffice, | Mappa del sito
Microsoft e il logo Office sono marchi o marchi registrati di Microsoft Corporation negli Stati Uniti e / o in altri paesi.
Protetto da Sectigo SSL