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

Cum se execută macro pe baza valorii selectate din lista derulantă în Excel?

Executarea macro-urilor făcând clic pe butonul de comandă este o sarcină obișnuită în Excel, dar ați încercat vreodată să executați codurile macro pe baza valorii selectate din lista derulantă? Înseamnă că, atunci când alegeți un element din lista derulantă, macro-ul specific va fi declanșat simultan. Acest articol va introduce un cod util pentru rezolvarea acestei sarcini.

Rulați macrocomanda pe baza valorii selectate din lista derulantă cu cod VBA


săgeată albastru dreapta balon Rulați macrocomanda pe baza valorii selectate din lista derulantă cu cod VBA

Nu există o modalitate directă de a termina această sarcină, dar, următorul cod VBA vă poate ajuta, vă rugăm să faceți acest lucru:

1. În primul rând, creați o listă verticală după cum aveți nevoie, vedeți captura de ecran:

doc rulează macrocomanda din meniul derulant 1

2. Apoi faceți clic dreapta pe fila foaie conține meniul drop-down pe care doriți să îl utilizați, apoi alegeți Afișați codul din meniul contextual și în meniul deschis Microsoft Visual Basic pentru aplicații fereastră, copiați și lipiți următorul cod în modulul gol:

Cod VBA: Rulați macrocomanda pe baza valorii selectate din lista derulantă:

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 rulează macrocomanda din meniul derulant 2

notițe: În codul de mai sus, E1 este celula conține lista derulantă, schimbați numele macrocomenzilor și derulează valorile listei la necesarul dvs.

3. Și apoi salvați și închideți această fereastră de cod, acum, când selectați elementul Inserare rânduri goale din lista derulantă, Macro1 va fi declanșat și așa mai departe ...


Legate de articole:

Cum se execută macro când valoarea celulei se schimbă în Excel?

Cum se execută macro pe baza valorii celulei în Excel?

Cum se execută macro automat înainte de a imprima în Excel?

Cum se execută macro făcând clic pe hyperlinkuri în Excel?

Cum se execută macro când foaia este selectată dintr-un registru de lucru?


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (6)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Funcționează efectiv, dar care se aplică în mai multe celule, care variabil debo schimba?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Există o modalitate de a utiliza codul VBA pentru a face acest lucru în Access? Mulțumiri
Acest comentariu a fost redus la minimum de moderatorul de pe site
Buna ziua!

Aplică-mi vânzarea unei erori de compilare: La declarația de procedură nu coincide cu descrierea evenimentului sau a procedurii care are el mismo nume. Que quiere decir eso? que debo cambiar/arreglar? Multumesc
Acest comentariu a fost redus la minimum de moderatorul de pe site
Buna dimineata. Ați putea să faceți Macro din meniul drop-down pentru următoarele: Pentru a rula macro și salva foi separate pentru fiecare articol din meniul drop-down? În cazul tău ar trebui să arate așa:
1. Executați macro și apoi aveți o foaie separată cu valori pentru „Inserați rânduri goale” salvate în folderul desemnat
2. Foaie separată cu valori pentru „Ascunde toate foile:” salvată în folderul desemnat
3. Foaie separată cu valorile pentru „Conversie la dată” salvată în folderul desemnat.
4. Macro este gata acum


În principal, pot seta toate acestea, cu excepția faptului că macro-ul schimbă automat selecția din meniul drop-down?


mulțumesc


Ivan
Acest comentariu a fost redus la minimum de moderatorul de pe site


PRIMUL COD FUNCTIONEAZA PERFECTSubsol de lucrări private_Change (țintă ByVal ca rază de acțiune)
Dacă nu se intersectează (țintă, interval ("D1")) este nimic, atunci
Selectați intervalul de cazuri („D1”)
         Cazul „0.5”: jumătate
         Cazul „1”: Unu
         Cazul „1.25”: OneTwentyFive
Selectare sfârșit
Final, dacă
End Sub
AL DOILEA COD NU FUNCȚIONEAZĂ (vă rugăm să corectați cele de mai jos)
Modificare secundară privată (țintă ByVal ca interval)
Dacă nu se intersectează (țintă, interval ("D2")) este nimic, atunci
Selectați intervalul de cazuri („D2”)
         Cazul „9.53”: nouă virgulă cinci trei
Selectare sfârșit
Final, dacă
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
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?
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL