Przejdź do głównej zawartości

Jak uruchomić makro na podstawie wartości wybranej z rozwijanej listy w programie Excel?

Uruchamianie makr przez kliknięcie przycisku polecenia jest typowym zadaniem w programie Excel, ale czy kiedykolwiek próbowałeś wykonać kody makr na podstawie wartości wybranej z rozwijanej listy? Oznacza to, że gdy wybierzesz jedną pozycję z rozwijanej listy, określone makro zostanie uruchomione od razu. Ten artykuł wprowadzi przydatny kod do rozwiązania tego zadania.

Uruchom makro na podstawie wartości wybranej z rozwijanej listy z kodem VBA


strzałka niebieski prawy bąbelek Uruchom makro na podstawie wartości wybranej z rozwijanej listy z kodem VBA

Nie ma bezpośredniego sposobu na zakończenie tego zadania, ale poniższy kod VBA może ci pomóc, wykonaj następujące czynności:

1. Najpierw utwórz listę rozwijaną, jak potrzebujesz, patrz zrzut ekranu:

doc uruchom makro z listy rozwijanej 1

2. Następnie kliknij prawym przyciskiem myszy kartę arkusza zawierającą listę rozwijaną, której chcesz użyć, a następnie wybierz Wyświetl kod z menu kontekstowego oraz w otwartym Microsoft Visual Basic dla aplikacji w oknie, skopiuj i wklej następujący kod do pustego modułu:

Kod VBA: Uruchom makro na podstawie wartości wybranej z rozwijanej listy:

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 uruchom makro z listy rozwijanej 2

Note: W powyższym kodzie, E1 to komórka zawiera listę rozwijaną, zmień nazwy makr i wartości listy rozwijanej na potrzebne.

3. A następnie zapisz i zamknij to okno kodu, teraz, gdy wybierzesz element Wstaw puste wiersze z rozwijanej listy, zostanie wyzwolone Makro1 i tak dalej…


Podobne artykuły:

Jak uruchomić makro, gdy zmienia się wartość komórki w programie Excel?

Jak uruchomić makro na podstawie wartości komórki w programie Excel?

Jak automatycznie uruchomić makro przed drukowaniem w programie Excel?

Jak uruchomić makro, klikając hiperłącza w programie Excel?

Jak uruchomić makro, gdy arkusz jest wybrany ze skoroszytu?

Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

Opis


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
Comments (7)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Codes help me and work very fine. Thanks a lot. Is there any way to get case value in a variable and then compare?
with best regards
This comment was minimized by the moderator on the 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?
This comment was minimized by the moderator on the site


FIRST CODE WORKING PERFECTLYPrivate Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("D1")) Is Nothing Then
Select Case Range("D1")
         Case "0.5": Half
         Case "1": One
         Case "1.25": OneTwentyFive
End Select
End If
End Sub
SECOND CODE NOT WORKING (plz correct the below)
Private Sub Change(ByVal Target As Range)
If Not Intersect(Target, Range("D2")) Is Nothing Then
Select Case Range("D2")
         Case "9.53": ninepointfivethree
End Select
End If
End Sub
This comment was minimized by the moderator on the site
Good morning. Would you be able to do Macro from drop down menu for next: To run macro and save separated sheets for each item from Dropdown menu? In your case should be looking like this:
1. You run macro and then you have separated sheet with values for "Insert blank rows" saved in designated folder
2. Separated sheet with values for " Hide all sheets:" saved in designated folder
3. Separated sheet with values for " Convert to date" saved in designated folder.
4. Macro is done now


Mainly i am able do set all of this except that macro automatically change selection from drop down menu ?


Thanks


Ivan
This comment was minimized by the moderator on the site
Hola!

Al aplicarlo me sale un error de compilación: La declaración del procedimiento no coincide con la descripción del evento o el procedimiento que tiene el mismo nombre. Que quiere decir eso? que debo cambiar/arreglar? Gracias
This comment was minimized by the moderator on the site
Is there a way to use VBA code to do this in Access? Thanks
This comment was minimized by the moderator on the site
efectivamente funciona pero quiero aplicarlo en varias celdas, que variable debo cambiar?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations