Hur man tilldelar ett makro till en knapp i Excel (enkel guide)

Även om det finns många olika sätt att köra ett makro i Excel, kan ingen av dessa metoder vara lika enkla och användarvänliga som att klicka på en knapp.

Och för att det ska fungera måste du först tilldela ett makro till en knapp.

I den här självstudien visar jag dig ett par sätt att infoga en knapp i Excel och sedan tilldela ett makro till den knappen (eller formen). När det är gjort, så snart en användare klickar på knappen, skulle makro -VBA -koden köras.

För denna handledning kommer jag att använda nedanstående VBA -makrokod (som helt enkelt väljer cell A1 i det aktiva arket och skriver in texten "God morgon" i den och färgar den röd).

Sub GoodMorning () With ActiveSheet.Range ("A1") .Value = "Good Morning" .Interior.Color = vbRed End With End Sub

Ovanstående VBA -kod placeras i en vanlig modul i VB Editor

Låt oss nu dyka in direkt och se hur du kan tilldela detta makro till en knapp eller form i Excel!

Sätt i en form och tilldela makro till den formen

Även om det finns dedikerade knappar som du kan infoga i kalkylbladet och sedan tilldela makrot till det, kommer jag först att täcka hur man tilldelar ett makro till en form.

Jag personligen älskar den här metoden och föredrar den framför resten två metoder som täcks senare. Du kan enkelt infoga en form (kvadrat eller rektangel) och få den att se ut som en knapp.

Och eftersom det är en form kan du enkelt formatera den för att se perfekt ut med din befintliga formatering eller märkesfärger.

Nedan följer stegen för att infoga en form i Excel:

  1. Klicka på fliken Infoga
  2. Klicka på Former i gruppen illustrationer
  3. Klicka på alternativet Rektangel i Formalternativ. Du kommer att märka att markören ändras till en plusikon
  4. Klicka var som helst på kalkylbladet. Detta kommer att infoga en rektangelform i kalkylbladet.
  5. Ändra storlek på rektangeln och formatera den (ge den en kant, färg, nyans om du vill).

När du har gjort ovanstående steg kommer du att ha en rektangelform i kalkylbladet, och nu kommer vi att tilldela ett makro till denna form.

Observera att jag har infogat en rektangelform i det här exemplet, men du kan infoga vilken form du vill (t.ex. en cirkel eller triangel eller pil). Jag föredrar att använda en rektangel och det ser ut som en knapp och är mer intuitivt.

Låt oss nu se hur man tilldelar ett makro till denna form.

  1. Högerklicka på den form som du vill tilldela makrot
  2. Klicka på "Tilldela makro" i menyalternativen som visas. Detta öppnar dialogrutan Tilldela makro
  3. I dialogrutan Tilldela makro ser du en lista över alla makron som du har i arbetsboken
  4. Klicka på det makronamn som du vill tilldela denna form. I det här exemplet klickar jag på makrot med namnet 'GoodMorning
  5. Klicka på OK

Det är allt!

Det valda makrot har nu tilldelats formen.

När du håller muspekaren över formen kommer den att visa handikonen. vilket indikerar att nu har denna form blivit klickbar.

Och nu om du klickar på formen körs det tilldelade makrot.

Du kan skriva vilken text som helst i formen för att göra den mer intuitiv (till exempel "Klicka här för att köra makrot"). Att göra detta. högerklicka på formen och klicka sedan på Redigera text. Nu kan du skriva i textrutans form.

Observera att du inte kommer att kunna klicka och köra makrot när formen har valts (dvs du ser en kant runt formen som visas när du väljer den), För att göra det klickbart, tryck på Escape -tangenten eller klicka någonstans i arbetsbladet.

När du redan har tilldelat makrot till formen kommer du inte att kunna välja det med hjälp av vänster musknapp (eftersom det har blivit klickbart och vänsterklick skulle nu köra makrot). Välj i så fall formen, håll ned kontrollknappen och tryck sedan på vänster knapp.

Håll formen synlig när du döljer/ändrar storlek på rader/kolumner

I Excel. när du sätter in en form, sitter den över cellerna - som ett diagram/objekt.

Detta har också en nackdel att när du ändrar storlek eller döljer rader/kolumner som har formen över följer formen också efter.

I exemplet nedan döljs formen när jag gömmer kolumnen som den är placerad på.

Om du inte vill att detta ska hända följer du stegen nedan:

  1. Högerklicka på formen
  2. Klicka på Formatera form
  3. Välj Format och egenskaper i rutan Formatform (eller dialogrutan om du använder Excel 2010 eller tidigare versioner)
  4. I alternativet Egenskaper väljer du alternativet - "Flytta inte eller storlek med celler"
  5. Stäng rutan (eller dialogrutan)

Nu, när du ändrar storlek på rader/kolumner eller döljer dessa, skulle formen sitta kvar på sin plats.

Tilldela ett makro till formulärkontrollknappen

Om du inte är alltför bekymrad över knappens formatering och är ok med vanliga grå knappar kan du snabbt infoga den från formulärkontrollen (eller ActiveX -kontrollen som visas nedan) och sedan tilldela den ett makro.

För att detta ska fungera måste du ha fliken Utvecklare i bandet. Om du inte har det, här är en detaljerad steg-för-steg-handledning om hur du får fliken utvecklare i Excel-bandet.

När du har utvecklarfliken synlig kan du använda stegen nedan för att snabbt infoga en knapp och tilldela den ett makro:

  1. Klicka på fliken Utvecklare
  2. Klicka på Infoga i kontrollgruppen.
  3. I alternativen som visas, i alternativen Formulärkontroller, klicka på knappen (Formulärkontroll).
  4. Klicka var som helst på kalkylbladet. Detta infogar knappen var du än klickar och öppnar automatiskt dialogrutan "Tilldela makro".
  5. I dialogrutan Tilldela makro ser du en lista över alla makron som du har i arbetsboken
  6. Klicka på det makronamn som du vill tilldela den här knappen. I det här exemplet klickar jag på makrot med namnet 'GoodMorning'
  7. Klicka på OK

Stegen ovan skulle infoga en knapp som har det angivna makrot tilldelat.

Som standard skulle det vara en liten knapp med text som "Knapp" skriven på den. Du kan ändra texten till vad du vill och kan också ändra formen på knappen (genom att dra i kanterna).

Eftersom detta är ett objekt som placeras över kalkylbladet (precis som former/diagram) kan du dra och placera det var som helst i kalkylbladet.

En nackdel med att använda formulärkontrollknappen är att du inte har mycket kontroll över formateringen. Till exempel kan du inte ändra färgen från grått till något annat.

Även om det finns lite formatering som du kan göra med en formulärkontrollknapp, är det inte i närheten av vad du kan göra med former.

Du får dessa knappformateringsalternativ när du högerklickar på knappen och sedan klickar på Format Control.

Detta öppnar dialogrutan Formatkontroll där du kan ändra typsnitt/färg, storlek, justering etc.

En bra sak med den här knappen är att den inte döljer eller ändrar storlek när du döljer raderna/kolumnerna eller ändrar storlek på dem. Det skulle dock röra sig om du ändrar höjd eller bredd eller raden/kolumnen över vilken knappen är placerad.

Om du inte vill att knappen ska sitta kvar kan du ändra inställningen genom att följa stegen nedan:

  1. Högerklicka på knappen
  2. Klicka på Format Control
  3. Klicka på fliken Egenskaper
  4. Välj alternativet - "Flytta inte eller storlek med celler"
  5. Klicka på Ok

Tilldela ett makro till en ActiveX -kontrollknapp

Förutom knappen Form Control finns det också en ActiveX -kontrollknapp som du kan tilldela ett makro till.

I de flesta fall behöver du inte använda ActiveX -kontrollknappen, och jag rekommenderar att du bara använder den när du helt förstår vad det är och du vet vad du gör.

Undrar du varför vi har två olika sorters knappar - Form Control och ActiveX? Medan formulärkontroller är inbyggda i Excel-programmet laddas ActiveX från en separat DLL (Dynamic Link Libraries). Detta gör Form -kontrollknappar mycket mer robusta och pålitliga jämfört med ActiveX -knapparna. Du kan läsa mer om denna skillnad här i ett inlägg i StackOverflow.

Detta gör också ActiveX ibland lite glitchigt och oförutsägbart. Så medan jag täcker det i den här självstudien rekommenderar jag inte att du använder ActiveX -knappen och tilldelar den ett makro.

Om du vill infoga en ActiveX -knapp och sedan tilldela ett makro till den följer du stegen nedan:

  1. Klicka på fliken Utvecklare
  2. Klicka på Infoga i kontrollgruppen.
  3. I alternativen som visas, i ActiveX -kontrollalternativen, klicka på kommandoknappen.
  4. Klicka var som helst på kalkylbladet. Detta kommer att infoga knappen var du än klickar.
  5. Dubbelklicka på knappen så öppnas VB Editor-backend där du kan placera koden för ActiveX-knappen

Med ActiveX -kontroll får du mycket mer flexibilitet med en enda knapp. Till exempel kan du ange ett makro som ska köras när du bara klickar på knappen en gång och ett annat makro när du dubbelklickar eller till och med ett annat när du använder upp/nedpilen.

Återigen, inget du behöver använda i ditt vanliga arbete.

Ett annat alternativ du kan överväga (när du arbetar med knappar/former och tilldelar makron till det) är att lägga till makrot i verktygsfältet Snabbåtkomst. På så sätt kan du köra makrot med ett enda klick och det är alltid synligt i QAT.

Hoppas du tyckte att denna handledning var användbar. Om du är intresserad av att lära dig VBA kan du kolla in mer ingående Excel VBA-självstudier här.

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave