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

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

Uwagi: 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

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2021 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowa bezpłatna wersja próbna. 60-dniowa gwarancja zwrotu pieniędzy.
karta kte 201905

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!
officetab dół
Sortuj komentarze według
Komentarze (6)
Brak ocen. Oceń jako pierwszy!
Ten komentarz został zminimalizowany przez moderatora na stronie
efectivamente funciona pero quiero aplicarlo en varias celdas, que zmienna debo cambiar?
Ten komentarz został zminimalizowany przez moderatora na stronie
Czy istnieje sposób na użycie kodu VBA, aby to zrobić w programie Access? Dzięki
Ten komentarz został zminimalizowany przez moderatora na stronie
Witaj!

Al aplicarlo me sale un error de compilacion: La declaración del procedimiento nie zbiega się z la descripción del evento o el procedimiento que tiene el mismo nombre. Que quiere decir eso? que debo cambiar/arreglar? Gracias
Ten komentarz został zminimalizowany przez moderatora na stronie
Dzień dobry. Czy byłbyś w stanie zrobić makro z rozwijanego menu na następny: Aby uruchomić makro i zapisać oddzielne arkusze dla każdego elementu z rozwijanego menu? W twoim przypadku powinno wyglądać tak:
1. Uruchamiasz makro, a następnie oddzieliłeś arkusz z wartościami dla "Wstaw puste wiersze" zapisanymi w wyznaczonym folderze
2. Oddzielny arkusz z wartościami „Ukryj wszystkie arkusze:” zapisany w wyznaczonym folderze
3. Oddzielny arkusz z wartościami „Konwertuj na datę” zapisanymi w wyznaczonym folderze.
4. Makro jest teraz zrobione


Głównie jestem w stanie to wszystko ustawić, z wyjątkiem tego, że makro automatycznie zmienia wybór z menu rozwijanego?


Podziękowania


Ivan
Ten komentarz został zminimalizowany przez moderatora na stronie


PIERWSZY KOD DZIAŁA IDEALNIEPrywatny Sub Worksheet_Change (ByVal Target As Range)
Jeśli nie przecina (cel, zakres ("D1")) to nic, wtedy
Wybierz zakres obserwacji ("D1")
         Przypadek „0.5”: połowa
         Przypadek „1”: jeden
         Przypadek „1.25”: jeden dwadzieścia pięć
End Select
End If
End Sub
DRUGI KOD NIE DZIAŁA (proszę poprawić poniższe)
Prywatna zmiana subskrypcji (ByVal Target As Range)
Jeśli nie przecina (cel, zakres ("D2")) to nic, wtedy
Wybierz zakres obserwacji ("D2")
         Przypadek „9.53”: dziewięć punktów pięć trzy
End Select
End If
End Sub
Ten komentarz został zminimalizowany przez moderatora na stronie
A co jeśli potrzebuję, aby powołać po to, aby powołać makra wszystkie listy listy? W sumie do tego co jest w pocie. Czy na istnieje łatwiejszy sposób?
Nie ma tu jeszcze żadnych komentarzy

Bądż na bieżąco

Prawa autorskie © 2009 - www.extendoffice.com. | Wszelkie prawa zastrzeżone. Zasilany przez ExtendOffice, | Mapa strony
Microsoft i logo Office są znakami towarowymi lub zastrzeżonymi znakami towarowymi Microsoft Corporation w Stanach Zjednoczonych i / lub innych krajach.
Chronione przez Sectigo SSL