Sådan tildeles en makro til en knap i Excel (let vejledning)

Selvom der er mange forskellige måder at køre en makro i Excel på, kan ingen af ​​disse metoder være så lette og brugervenlige som at klikke på en knap.

Og for at det skal fungere, skal du først tildele en makro til en knap.

I denne vejledning vil jeg vise dig et par måder at indsætte en knap i Excel og derefter tildele en makro til den knap (eller form). Når det er gjort, så snart en bruger klikker på knappen, vil makro -VBA -koden blive eksekveret.

I forbindelse med denne vejledning vil jeg bruge nedenstående VBA -makrokode (som simpelthen vælger celle A1 i det aktive ark og indtaster teksten "Good Morning" i den og farver den rød).

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

Ovenstående VBA -kode placeres i et almindeligt modul i VB Editor

Lad os nu dykke lige ind og se, hvordan du kan tildele denne makro til en knap eller form i Excel!

Indsæt en figur, og tildel makro til den form

Selvom der er dedikerede knapper, som du kan indsætte i regnearket og derefter tildele makroen til det, vil jeg først dække hvordan man tildeler en makro til en figur.

Jeg elsker personligt denne metode og foretrækker den frem for resten to metoder, der dækkes senere. Du kan nemt indsætte en form (firkantet eller rektangel) og få den til at ligne en knap.

Og da det er en form, kan du nemt formatere det til at se perfekt ud med din eksisterende formatering eller mærkefarver.

Nedenfor er trinene til at indsætte en form i Excel:

  1. Klik på fanen Indsæt
  2. Klik på figurer i gruppen med illustrationer
  3. I indstillinger for figurer skal du klikke på indstillingen Rektangel. Du vil bemærke, at din markør ændres til et plusikon
  4. Klik hvor som helst på regnearket. Dette vil indsætte en rektangelform i regnearket.
  5. Tilpas størrelsen på rektanglet, og formater det (giv det en kant, farve, skygge, hvis du vil).

Når du har udført ovenstående trin, har du en rektangelform i regnearket, og nu vil vi tildele en makro til denne figur.

Bemærk, at jeg har indsat en rektangelform i dette eksempel, men du kan indsætte den form, du ønsker (f.eks. En cirkel eller trekant eller pil). Jeg foretrækker at bruge et rektangel, og det ligner en knap og er mere intuitivt.

Lad os nu se, hvordan du tildeler en makro til denne form.

  1. Højreklik på den form, du vil tildele makroen til
  2. I de menuindstillinger, der vises, skal du klikke på 'Tildel makro'. Dette åbner dialogboksen Tildel makro
  3. I dialogboksen Tildel makro vil du se en liste over alle de makroer, du har i projektmappen
  4. Klik på det makronavn, du vil tildele denne figur. I dette eksempel klikker jeg på makroen med navnet 'GoodMorning
  5. Klik på OK

Det er det!

Den valgte makro er nu tildelt formen.

Når du nu holder markøren over formen, viser det håndikonet. hvilket indikerer, at denne form nu er blevet klikbar.

Og nu hvis du klikker på formen, kører den den tildelte makro.

Du kan skrive enhver tekst i formen for at gøre den mere intuitiv (f.eks. 'Klik her for at køre makroen'). At gøre dette. højreklik på formen, og klik derefter på Rediger tekst. Nu kan du skrive inden for tekstfeltets form.

Bemærk, at du ikke vil kunne klikke og køre makroen, når formen er valgt (dvs. du ser en kant omkring figuren, der vises, når du vælger den). For at gøre den klikbar skal du trykke på Escape -tasten eller klikke hvor som helst i regnearket.

Når du allerede har tildelt makroen til formen, vil du ikke kunne vælge den ved hjælp af venstre musetast (da den er blevet klikbar og venstre-klik nu ville udføre makroen). Vælg i så fald formen, hold kontroltasten nede, og tryk derefter på venstre tast.

Hold formen synlig, når du skjuler/ændrer størrelse på rækker/kolonner

I Excel. når du indsætter en form, sidder den over cellerne - som et diagram/objekt.

Dette har også en ulempe, at når du ændrer størrelse eller skjuler rækker/kolonner, der har formen over, følger formen også trop.

I eksemplet herunder bliver formen skjult, når jeg skjuler den kolonne, den er placeret på.

Hvis du ikke ønsker, at dette skal ske, skal du følge nedenstående trin:

  1. Højreklik på formen
  2. Klik på Formater form
  3. Vælg Format og egenskaber i ruden Formatér form (eller dialogboksen, hvis du bruger Excel 2010 eller tidligere versioner)
  4. I indstillingerne for egenskaber skal du vælge indstillingen - 'Flyt ikke eller størrelse med celler'
  5. Luk ruden (eller dialogboksen)

Når du nu ændrer størrelsen på rækker/kolonner eller skjuler disse, ville formen blive på sin plads.

Tildel en makro til formularkontrolknap

Hvis du ikke er for bekymret over formateringen af ​​knappen og er ok med almindelige grå knapper, kan du hurtigt indsætte den fra formularkontrol (eller ActiveX -kontrol som vist nedenfor) og derefter tildele en makro til den.

For at dette skal fungere, skal du have fanen Udvikler på dit bånd. Hvis du ikke har det, er her en detaljeret trin-for-trin vejledning i, hvordan du får fanen Udvikler i Excel-båndet.

Når du har udviklerfanen synlig, kan du bruge nedenstående trin til hurtigt at indsætte en knap og tildele en makro til den:

  1. Klik på fanen Udvikler
  2. Klik på Indsæt i gruppen Kontrol.
  3. I de valgmuligheder, der vises, skal du klikke på knappen (Formularkontrol) i indstillingerne i formularkontrol.
  4. Klik hvor som helst på regnearket. Dette indsætter knappen, uanset hvor du klikker, og automatisk åbner dialogboksen 'Tildel makro'.
  5. I dialogboksen Tildel makro vil du se en liste over alle de makroer, du har i projektmappen
  6. Klik på det makronavn, du vil tildele denne knap. I dette eksempel klikker jeg på makroen med navnet 'GoodMorning'
  7. Klik på OK

Ovenstående trin ville indsætte en knap, der har den angivne makro tildelt.

Som standard ville det være en lille knap med tekst som 'Button' skrevet på den. Du kan ændre teksten til hvad du vil og kan også ændre formen på knappen (ved at trække i kanterne).

Da dette er et objekt, der er placeret over regnearket (ligesom figurer/diagrammer), kan du trække og placere det hvor som helst i regnearket.

En ulempe ved at bruge knappen Formularkontrol er, at du ikke har meget kontrol over formateringen. For eksempel kan du ikke ændre farven fra grå til noget andet.

Selvom der er en lille smule formatering, du kan gøre med en formularknap, er det ikke i nærheden af, hvad du kan gøre med former.

Du får disse knapformateringsmuligheder, når du højreklikker på knappen og derefter klikker på Formatkontrol.

Dette åbner dialogboksen Formatkontrol, hvor du kan ændre skrifttype/farve, størrelse, justering osv.

En god ting ved denne knap er, at den ikke skjuler eller ændrer størrelse, når du skjuler rækker/kolonner eller ændrer størrelsen på dem. Det ville dog flytte sig, hvis du ændrer højden eller bredden eller rækken/kolonnen, som knappen er placeret over.

Hvis du ikke ønsker, at knappen skal forblive på sin plads, kan du ændre indstillingen ved at følge nedenstående trin:

  1. Højreklik på knappen
  2. Klik på Format Control
  3. Klik på fanen Egenskaber
  4. Vælg indstillingen - 'Flyt eller størr ikke med celler'
  5. Klik på Ok

Tildel en makro til en ActiveX -kontrolknap

Bortset fra knappen Form Control er der også en ActiveX -kontrolknap, som du kan tildele en makro til.

I de fleste tilfælde behøver du ikke bruge ActiveX -kontrolknappen, og jeg anbefaler, at du kun bruger den, når du helt forstår, hvad det er, og du ved, hvad du laver.

Gad vide, hvorfor vi har to forskellige slags knapper - Form Control og ActiveX? Mens formularkontroller er indbygget i Excel-applikationen, indlæses ActiveX fra en separat DLL (Dynamic Link Libraries). Dette gør Form -kontrolknapper meget mere robuste og pålidelige i forhold til ActiveX -knapperne. Du kan læse mere om denne forskel her i et indlæg i StackOverflow.

Dette gør undertiden også ActiveX en smule glitchy og uforudsigelig. Så mens jeg dækker det i denne vejledning, anbefaler jeg ikke at bruge ActiveX -knap og tildele en makro til den.

Følg nedenstående trin for at indsætte en ActiveX -knap og derefter tildele en makro til den:

  1. Klik på fanen Udvikler
  2. Klik på Indsæt i gruppen Kontrol.
  3. I de valgmuligheder, der vises, i ActiveX -kontrolindstillingerne skal du klikke på kommandoknappen.
  4. Klik hvor som helst på regnearket. Dette indsætter knappen, uanset hvor du klikker.
  5. Dobbeltklik på knappen, og det åbner VB Editor-backend, hvor du kan placere koden til ActiveX-knappen

Med ActiveX -kontrol får du meget mere fleksibilitet med en enkelt knap. For eksempel kan du angive en makro, der skal køres, når du blot klikker på knappen en gang og en anden makro, når du dobbeltklikker eller endda en anden, når du bruger op/ned-piletasten.

Igen, ikke noget du skal bruge i dit almindelige arbejde.

En anden mulighed, du kan overveje (når du arbejder med knapper/figurer og tildeler makroer til den), er at tilføje makroen til værktøjslinjen Hurtig adgang. På den måde kan du køre makroen med et enkelt klik, og den er altid synlig i QAT.

Håber du fandt denne vejledning nyttig. Hvis du er interesseret i at lære VBA, kan du tjekke mere dybtgående Excel VBA-selvstudier her.

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave