Hvordan tilordne en makro til en knapp i Excel (enkel guide)

Selv om det er mange forskjellige måter å kjøre en makro i Excel, kan ingen av disse metodene være like enkle og brukervennlige som å klikke på en knapp.

Og for at det skal fungere, må du først tilordne en makro til en knapp.

I denne opplæringen vil jeg vise deg et par måter å sette inn en knapp i Excel og deretter tilordne en makro til den knappen (eller formen). Når det er gjort, så snart en bruker klikker på knappen, vil makro -VBA -koden bli utført.

I forbindelse med denne opplæringen skal jeg bruke VBA -makrokoden nedenfor (som bare velger celle A1 i det aktive arket og skriver inn teksten "God morgen" i den og farger den rød).

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

Ovennevnte VBA -kode er plassert i en vanlig modul i VB Editor

La oss nå dykke rett inn og se hvordan du kan tilordne denne makroen til en knapp eller form i Excel!

Sett inn en figur og tilordne makroen til den formen

Selv om det er dedikerte knapper du kan sette inn i regnearket og deretter tilordne makroen til den, vil jeg først dekke hvordan du tilordner en makro til en form.

Jeg personlig elsker denne metoden og foretrekker den fremfor resten to metoder som dekkes senere. Du kan enkelt sette inn en form (firkant eller rektangel) og få den til å ligne en knapp.

Og siden det er en form, kan du enkelt formatere den til å se perfekt ut med din eksisterende formatering eller merkefarger.

Nedenfor er trinnene for å sette inn en form i Excel:

  1. Klikk på Sett inn -fanen
  2. Klikk på figurer i illustrasjonsgruppen
  3. I figuralternativer klikker du på alternativet Rektangel. Du vil merke at markøren endres til et plussikon
  4. Klikk hvor som helst på regnearket. Dette vil sette inn en rektangelform i regnearket.
  5. Endre størrelsen på rektanglet og formater det (gi det en kant, farge, nyanse hvis du vil).

Etter at du har utført trinnene ovenfor, vil du ha en rektangelform i regnearket, og nå vil vi tilordne en makro til denne figuren.

Legg merke til at jeg har satt inn en rektangelform i dette eksemplet, men du kan sette inn hvilken form du vil (for eksempel en sirkel eller trekant eller pil). Jeg foretrekker å bruke et rektangel, og det ser ut som en knapp og er mer intuitivt.

La oss nå se hvordan du tilordner en makro til denne formen.

  1. Høyreklikk på formen du vil tilordne makroen til
  2. Klikk på "Tilordne makro" i menyalternativene som vises. Dette åpner dialogboksen Tildel makro
  3. I dialogboksen Tildel makro vil du se en liste over alle makroene du har i arbeidsboken
  4. Klikk på makronavnet du vil tilordne denne figuren. I dette eksemplet vil jeg klikke på makroen kalt 'GoodMorning
  5. Klikk på OK

Det er det!

Den valgte makroen er nå tildelt formen.

Når du holder musepekeren over figuren, viser det håndikonet. som indikerer at nå har denne formen blitt klikkbar.

Og nå, hvis du klikker på figuren, kjører den tildelte makroen.

Du kan skrive inn hvilken som helst tekst i formen for å gjøre den mer intuitiv (for eksempel 'Klikk her for å kjøre makroen'). Å gjøre dette. høyreklikk på figuren og klikk deretter på Rediger tekst. Nå kan du skrive i tekstboksformen.

Vær oppmerksom på at du ikke vil kunne klikke og kjøre makroen når formen er valgt (dvs. du ser en kant rundt figuren som vises når du velger den). For å gjøre den klikkbar trykker du på Escape -tasten eller klikker hvor som helst i regnearket.

Når du allerede har tilordnet makroen til formen, vil du ikke kunne velge den ved å bruke venstre musetast (ettersom den har blitt klikkbar og venstre klikk ville nå utføre makroen). Velg i så fall formen, hold inne kontrolltasten og trykk deretter på venstre tast.

Hold formen synlig når du skjuler/endrer størrelse på rader/kolonner

I Excel. når du setter inn en form, sitter den over cellene - som et diagram/objekt.

Dette har også en ulempe at når du endrer størrelsen eller skjuler rader/kolonner som har formen over, følger formen også etter.

I eksemplet nedenfor blir formen skjult når jeg skjuler kolonnen den er plassert på.

Hvis du ikke vil at dette skal skje, følger du trinnene nedenfor:

  1. Høyreklikk på formen
  2. Klikk på Format Shape
  3. Velg Format og egenskaper i Format Shape -ruten (eller dialogboksen hvis du bruker Excel 2010 eller tidligere versjoner)
  4. I alternativene Egenskaper velger du alternativet - 'Ikke flytt eller størrelse med celler'
  5. Lukk ruten (eller dialogboksen)

Nå, når du endrer størrelsen på rader/kolonner eller skjuler disse, vil formen forbli på sin plass.

Tilordne en makro til skjermkontrollknappen

Hvis du ikke er så opptatt av formateringen av knappen og er ok med vanlige grå knapper, kan du raskt sette den inn fra skjemakontroll (eller ActiveX -kontroll som vist nedenfor) og deretter tilordne en makro til den.

For at dette skal fungere, må du ha Utvikler -fanen på båndet. Hvis du ikke har det, her er en detaljert trinn-for-trinn-opplæring om hvordan du får utviklerfanen i Excel-båndet.

Når du har utviklerfanen synlig, kan du bruke trinnene nedenfor til raskt å sette inn en knapp og tilordne en makro til den:

  1. Klikk på kategorien Utvikler
  2. Klikk på Sett inn i kontrollgruppen.
  3. I alternativene som vises, i alternativene for skjemakontroller, klikker du på knappen (Skjemakontroll).
  4. Klikk hvor som helst på regnearket. Dette vil sette inn knappen uansett hvor du klikker og automatisk åpne "Tildel makro" -dialogboksen.
  5. I dialogboksen Tildel makro vil du se en liste over alle makroene du har i arbeidsboken
  6. Klikk på makronavnet du vil tilordne denne knappen. I dette eksemplet vil jeg klikke på makroen kalt 'GoodMorning'
  7. Klikk på OK

Trinnene ovenfor vil sette inn en knapp som har den angitte makroen tilordnet.

Som standard ville det være en liten knapp med tekst som "Knapp" skrevet på den. Du kan endre teksten til det du vil, og du kan også endre formen på knappen (ved å dra i kantene).

Siden dette er et objekt som er plassert over regnearket (akkurat som figurer/diagrammer), kan du dra og plassere det hvor som helst i regnearket.

En ulempe ved å bruke skjemakontrollknappen er at du ikke har mye kontroll over formateringen. For eksempel kan du ikke endre fargen fra grå til noe annet.

Selv om det er litt formatering du kan gjøre med en skjemakontrollknapp, er det ikke i nærheten av det du kan gjøre med former.

Du får disse alternativene for knappformatering når du høyreklikker på knappen og deretter klikker på Format Control.

Dette åpner dialogboksen Formatkontroll der du kan endre skrifttype/farge, størrelse, justering, etc.

En god ting med denne knappen er at den ikke skjuler eller endrer størrelsen når du skjuler radene/kolonnene eller endrer størrelsen på dem. Det vil imidlertid bevege seg hvis du endrer høyden eller bredden eller raden/kolonnen som knappen er plassert over.

Hvis du ikke vil at knappen skal forbli på sin plass, kan du endre innstillingen ved å følge trinnene nedenfor:

  1. Høyreklikk på knappen
  2. Klikk på Format Control
  3. Klikk på kategorien Egenskaper
  4. Velg alternativet - 'Ikke flytt eller størrelse med celler'
  5. Klikk Ok

Tilordne en makro til en ActiveX -kontrollknapp

Bortsett fra Form Control -knappen, er det også en ActiveX -kontrollknapp som du kan tilordne en makro til.

I de fleste tilfeller trenger du ikke å bruke ActiveX -kontrollknappen, og jeg anbefaler at du bare bruker den når du helt forstår hva det er og du vet hva du gjør.

Lurer du på hvorfor vi har to forskjellige typer knapper - Form Control og ActiveX? Mens skjemakontroller er innebygd i Excel-programmet, lastes ActiveX fra en egen DLL (Dynamic Link Libraries). Dette gjør Form -kontrollknappene mye mer robuste og pålitelige sammenlignet med ActiveX -knappene. Du kan lese mer om denne forskjellen her i et innlegg i StackOverflow.

Noen ganger gjør dette også ActiveX litt glitrende og uforutsigbart. Så mens jeg dekker det i denne opplæringen, anbefaler jeg ikke å bruke ActiveX -knappen og tilordne en makro til den.

Følg trinnene nedenfor for å sette inn en ActiveX -knapp og deretter tilordne en makro til den:

  1. Klikk på kategorien Utvikler
  2. Klikk på Sett inn i kontrollgruppen.
  3. I alternativene som vises, i alternativene for ActiveX -kontroller, klikker du på kommandoknappen.
  4. Klikk hvor som helst på regnearket. Dette vil sette inn knappen uansett hvor du klikker.
  5. Dobbeltklikk på knappen, så åpnes VB Editor-backend der du kan plassere koden for ActiveX-knappen

Med ActiveX -kontroll får du mye mer fleksibilitet med en enkelt knapp. For eksempel kan du angi én makro som skal kjøres når du bare klikker på knappen én gang og en annen makro når du dobbeltklikker eller til og med en annen når du bruker pil opp/ned.

Igjen, ikke noe du trenger å bruke i ditt vanlige arbeid.

Et annet alternativ du kan vurdere (når du arbeider med knapper/figurer og tilordner makroer til det) er å legge til makroen i verktøylinjen for rask tilgang. På den måten kan du kjøre makroen med et enkelt klikk, og den er alltid synlig i QAT.

Håper du synes denne opplæringen var nyttig. Hvis du er interessert i å lære VBA, kan du sjekke ut mer grundige Excel VBA-opplæringsprogrammer her.

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave