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

Hur kör man makro baserat på värde valt från listrutan i Excel?

Att köra makron genom att klicka på kommandoknappen är en vanlig uppgift i Excel, men har du någonsin försökt att utföra makrokoderna baserat på det värde som väljs från rullgardinsmenyn? Det betyder att när du väljer ett objekt i listrutan kommer det specifika makrot att utlösas på en gång. Denna artikel kommer att introducera en användbar kod för dig för att lösa detta jobb.

Kör makro baserat på värde valt från rullgardinsmenyn med VBA-kod


pil blå höger bubbla Kör makro baserat på värde valt från rullgardinsmenyn med VBA-kod

Det finns inget direkt sätt att slutföra denna uppgift, men följande VBA-kod kan hjälpa dig, gör så här:

1. Skapa först en rullgardinsmeny efter behov, se skärmdump:

doc kör makro från rullgardinsmenyn 1

2. Högerklicka sedan på fliken ark innehåller rullgardinsmenyn du vill använda och välj sedan Visa kod från snabbmenyn och i den öppnade Microsoft Visual Basic för applikationer fönster, kopiera och klistra in följande kod i den tomma modulen:

VBA-kod: Kör makro baserat på värde valt från listrutan:

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 kör makro från rullgardinsmenyn 2

Anmärkningar: I ovanstående kod, E1 är cellen innehåller rullgardinsmenyn, ändra makronamnen och listrutvärdena efter behov.

3. Och spara och stäng sedan det här kodfönstret, nu när du väljer objektet Infoga tomma rader från listrutan kommer Macro1 att utlösas, och så vidare ...


Relaterade artiklar:

Hur kör man makro när cellvärdet ändras i Excel?

Hur kör man makro baserat på cellvärde i Excel?

Hur kör man makro automatiskt innan man skriver ut i Excel?

Hur kör man makro genom att klicka på hyperlänkar i Excel?

Hur kör man makro när ark väljs från en arbetsbok?


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (6)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
efectivamente funciona pero quiero aplicarlo en varias celdas, que variabel debo cambiar?
Denna kommentar minimerades av moderatoren på webbplatsen
Finns det något sätt att använda VBA-kod för att göra detta i Access? Tack
Denna kommentar minimerades av moderatoren på webbplatsen
Hej!

Al aplicarlo me sale un error de compilación: La declaración del procedimiento no coincide con la decripción del evento o el procedimiento que tiene el mismo nombre. Que quiere decir eso? que debo cambiar/arreglar? Tack
Denna kommentar minimerades av moderatoren på webbplatsen
God morgon. Skulle du kunna göra Makro från rullgardinsmenyn för nästa: Att köra makro och spara separata ark för varje objekt från rullgardinsmenyn? I ditt fall bör det se ut så här:
1. Du kör makro och sedan har du separerat ark med värden för "Infoga tomma rader" sparat i angiven mapp
2. Separerat ark med värden för "Göm alla ark:" sparat i angiven mapp
3. Separerat ark med värden för "Konvertera till datum" sparat i avsedd mapp.
4. Makro är klart nu


Främst kan jag ställa in allt detta förutom att makrot automatiskt ändrar val från rullgardinsmenyn?


Tack


ivan
Denna kommentar minimerades av moderatoren på webbplatsen


FÖRSTA KODEN FUNGERAR PERFEKTPrivata delarkivsförändring (ByVal-mål som område)
Om inte skära (mål, intervall("D1")) är ingenting då
Välj Case Range ("D1")
         Fall "0.5": Hälften
         Fall "1": Ett
         Fall "1.25": OneTwentyFive
Avsluta Välj
End If
End Sub
ANDRA KODEN FUNGERAR INTE (korrigera gärna nedan)
Private Sub Change (ByVal Target As Range)
Om inte skära (mål, intervall("D2")) är ingenting då
Välj Case Range ("D2")
         Fall "9.53": nio komma femtre
Avsluta Välj
End If
End Sub
Denna kommentar minimerades av moderatoren på webbplatsen
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?
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL