Een macro toewijzen aan een knop in Excel (eenvoudige handleiding)

Hoewel er veel verschillende manieren zijn om een ​​macro in Excel uit te voeren, kan geen van deze methoden zo eenvoudig en gebruiksvriendelijk zijn als klikken op een knop.

En om dat te laten werken, moet u eerst een macro aan een knop toewijzen.

In deze zelfstudie laat ik je een aantal manieren zien om een ​​knop in Excel in te voegen en vervolgens een macro toe te wijzen aan die knop (of vorm). Eenmaal gedaan, zodra een gebruiker op de knop klikt, wordt de macro VBA-code uitgevoerd.

Voor deze tutorial zal ik de onderstaande VBA-macrocode gebruiken (die eenvoudig cel A1 in het actieve blad selecteert en de tekst "Goedemorgen" erin invoert en deze rood kleurt).

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

De bovenstaande VBA-code wordt in een reguliere module in de VB-editor geplaatst

Laten we er nu meteen in duiken en kijken hoe u deze macro kunt toewijzen aan een knop of vorm in Excel!

Een vorm invoegen en macro toewijzen aan die vorm

Hoewel er speciale knoppen zijn die u in het werkblad kunt invoegen en vervolgens de macro eraan kunt toewijzen, zal ik eerst behandelen een macro toewijzen aan een vorm.

Ik ben persoonlijk dol op deze methode en geef er de voorkeur aan boven de andere twee methoden die later worden besproken. U kunt eenvoudig een vorm (vierkant of rechthoek) invoegen en deze op een knop laten lijken.

En aangezien het een vorm is, kunt u deze eenvoudig opmaken om er perfect uit te zien met uw bestaande opmaak of merkkleuren.

Hieronder staan ​​de stappen om een ​​vorm in Excel in te voegen:

  1. Klik op het tabblad Invoegen
  2. Klik in de groep illustraties op Vormen
  3. Klik in Vormopties op de optie Rechthoek. U zult merken dat uw cursor verandert in een pluspictogram
  4. Klik ergens op het werkblad. Hiermee wordt een rechthoekige vorm in het werkblad ingevoegd.
  5. Verklein de rechthoek en formatteer deze (geef het een rand, kleur, schaduw als je wilt).

Nadat u de bovenstaande stappen hebt uitgevoerd, heeft u een rechthoekige vorm in het werkblad en nu zullen we een macro aan deze vorm toewijzen.

Merk op dat ik in dit voorbeeld een rechthoekige vorm heb ingevoegd, maar je kunt elke gewenste vorm invoegen (zoals een cirkel of driehoek of pijl). Ik gebruik liever een rechthoek en het ziet eruit als een knop en is intuïtiever.

Laten we nu eens kijken hoe we een macro aan deze vorm kunnen toewijzen.

  1. Klik met de rechtermuisknop op de vorm waaraan u de macro wilt toewijzen
  2. Klik in de menu-opties die verschijnen op ‘Macro toewijzen’. Dit opent het dialoogvenster macro toewijzen
  3. In het dialoogvenster Macro toewijzen ziet u een lijst met alle macro's die u in de werkmap hebt
  4. Klik op de macronaam die u aan deze vorm wilt toewijzen. In dit voorbeeld klik ik op de macro met de naam 'GoodMorning'
  5. Klik op OK

Dat is het!

De geselecteerde macro is nu toegewezen aan de vorm.

Wanneer u nu de cursor over de vorm beweegt, wordt het handpictogram weergegeven. wat aangeeft dat deze vorm nu klikbaar is geworden.

En als u nu op de vorm klikt, wordt de toegewezen macro uitgevoerd.

U kunt elke tekst in de vorm typen om deze intuïtiever te maken (zoals 'Klik hier om de macro uit te voeren'). Om dit te doen. klik met de rechtermuisknop op de vorm en klik vervolgens op Tekst bewerken. Nu kunt u typen in de vorm van het tekstvak.

Houd er rekening mee dat u niet op de macro kunt klikken en deze uitvoeren wanneer de vorm is geselecteerd (dwz u ziet een rand rond de vorm die verschijnt wanneer u deze selecteert). Om deze aanklikbaar te maken, drukt u op de Escape-toets of klikt u ergens op het werkblad.

Als u de macro al aan de vorm hebt toegewezen, kunt u deze ook niet selecteren met de linkermuisknop (omdat deze klikbaar is geworden en met de linkermuisknop de macro wordt uitgevoerd). Selecteer in dat geval de vorm, houd de control-toets ingedrukt en druk vervolgens op de linkertoets.

Vorm zichtbaar houden wanneer u rijen/kolommen verbergt/formaat wijzigt

In Excell. wanneer u een vorm invoegt, zit deze over de cellen - zoals een grafiek/object.

Dit heeft ook een nadeel dat wanneer je rijen/kolommen verkleint of verbergt die de vorm erover hebben, de vorm ook volgt.

In het onderstaande voorbeeld wordt de vorm verborgen wanneer ik de kolom verberg waarop deze is geplaatst.

Als u niet wilt dat dit gebeurt, volgt u de onderstaande stappen:

  1. Klik met de rechtermuisknop op de vorm
  2. Klik op Vorm opmaken
  3. In het deelvenster Vorm opmaken (of dialoogvenster als u Excel 2010 of eerdere versies gebruikt), selecteert u Grootte en eigenschappen
  4. Selecteer in de Eigenschappen-opties de optie - 'Niet verplaatsen of vergroten met cellen'
  5. Sluit het paneel (of dialoogvenster)

Als u nu de grootte van rijen/kolommen wijzigt of deze verbergt, blijft de vorm op zijn plaats.

Een macro toewijzen aan de formulierbesturingsknop

Als u zich niet al te veel zorgen maakt over de opmaak van de knop en het goed vindt met gewone grijze knoppen, kunt u deze snel invoegen vanuit het formulierbesturingselement (of ActiveX-besturingselement zoals hieronder weergegeven) en er vervolgens een macro aan toewijzen.

Om dit te laten werken, moet u het tabblad Ontwikkelaar in uw lint hebben. Als u het niet hebt, vindt u hier een gedetailleerde stapsgewijze zelfstudie over het verkrijgen van het ontwikkelaarstabblad in het Excel-lint.

Zodra het ontwikkelaarstabblad zichtbaar is, kunt u de onderstaande stappen gebruiken om snel een knop in te voegen en er een macro aan toe te wijzen:

  1. Klik op het tabblad Ontwikkelaars
  2. Klik in de groep Besturing op Invoegen.
  3. Klik in de opties die verschijnen in de opties voor formulierbesturingselementen op de optie Knop (Formulierbesturingselement).
  4. Klik ergens op het werkblad. Hiermee wordt de knop ingevoegd waar u ook klikt en wordt automatisch het dialoogvenster 'Macro toewijzen' geopend.
  5. In het dialoogvenster Macro toewijzen ziet u een lijst met alle macro's die u in de werkmap hebt
  6. Klik op de macronaam die u aan deze knop wilt toewijzen. In dit voorbeeld klik ik op de macro met de naam 'GoodMorning'
  7. Klik op OK

De bovenstaande stappen zouden een knop invoegen waaraan de gespecificeerde macro is toegewezen.

Standaard zou het een kleine knop zijn met tekst zoals 'Knop' erop geschreven. U kunt de tekst wijzigen in wat u maar wilt en ook de vorm van de knop wijzigen (door de randen te slepen).

Aangezien dit een object is dat over het werkblad wordt geplaatst (net als vormen/diagrammen), kunt u het overal in het werkblad slepen en plaatsen.

Een nadeel van het gebruik van de Form Control-knop is dat je niet veel controle hebt over de opmaak. U kunt de kleur bijvoorbeeld niet wijzigen van grijs naar iets anders.

Hoewel er een klein beetje opmaak is die je kunt doen met een formulierbesturingsknop, komt het niet in de buurt van wat je met vormen kunt doen.

U krijgt deze knopopmaakopties wanneer u met de rechtermuisknop op de knop klikt en vervolgens op Opmaakbesturing klikt.

Dit opent het dialoogvenster Opmaakbeheer waar u het lettertype/kleur, grootte, uitlijning, enz. kunt wijzigen.

Een goede zaak van deze knop is dat hij niet verbergt of het formaat aanpast wanneer u de rijen/kolommen verbergt of het formaat ervan wijzigt. Het zou echter bewegen als u de hoogte of breedte wijzigt of de rij/kolom waarover de knop wordt geplaatst.

Als u niet wilt dat de knop op zijn plaats blijft, kunt u de instelling wijzigen door de onderstaande stappen te volgen:

  1. Klik met de rechtermuisknop op de knop
  2. Klik op Opmaakbeheer
  3. Klik op het tabblad Eigenschappen
  4. Selecteer de optie - 'Niet verplaatsen of vergroten met cellen'
  5. Klik OK

Een macro toewijzen aan een ActiveX-besturingsknop

Naast de Form Control-knop is er ook een ActiveX-control-knop waaraan u een macro kunt toewijzen.

In de meeste gevallen hoeft u de ActiveX-besturingsknop niet te gebruiken, en ik raad u aan deze alleen te gebruiken als u volledig begrijpt wat het is en u weet wat u doet.

Vraagt ​​u zich af waarom we twee verschillende soorten knoppen hebben: Form Control en ActiveX? Terwijl formulierbesturingselementen zijn ingebouwd in de Excel-toepassing, wordt ActiveX geladen vanuit een afzonderlijke DLL (Dynamic Link Libraries). Dit maakt Form control-knoppen een stuk robuuster en betrouwbaarder in vergelijking met de ActiveX-knoppen. U kunt hier meer lezen over dit verschil in een bericht in StackOverflow.

Dit maakt ActiveX soms ook een beetje glitchy en onvoorspelbaar. Dus hoewel ik het in deze tutorial behandel, raad ik niet aan om de ActiveX-knop te gebruiken en er een macro aan toe te wijzen.

Volg de onderstaande stappen om een ​​ActiveX-knop in te voegen en er vervolgens een macro aan toe te wijzen:

  1. Klik op het tabblad Ontwikkelaars
  2. Klik in de groep Besturing op Invoegen.
  3. Klik in de opties die verschijnen in de opties van ActiveX-besturingselementen op de optie Opdrachtknop.
  4. Klik ergens op het werkblad. Hiermee wordt de knop ingevoegd waar u ook klikt.
  5. Dubbelklik op de knop en het zal de VB Editor-backend openen waar u de code voor de ActiveX-knop kunt plaatsen

Met ActiveX-besturing krijgt u veel meer flexibiliteit met een enkele knop. U kunt bijvoorbeeld één macro specificeren die moet worden uitgevoerd wanneer u eenmaal op de knop klikt en een andere macro wanneer u dubbelklikt of zelfs een andere wanneer u de pijl-omhoog/omlaag gebruikt.

Nogmaals, niet iets dat u in uw normale werk hoeft te gebruiken.

Een andere optie die u kunt overwegen (wanneer u met knoppen/vormen werkt en er macro's aan toewijst) is om de macro toe te voegen aan de werkbalk Snelle toegang. Op die manier kunt u de macro met een enkele klik uitvoeren en is deze altijd zichtbaar in de QAT.

Ik hoop dat je deze tutorial nuttig vond. Als u geïnteresseerd bent in het leren van VBA, kunt u hier meer diepgaande Excel VBA-zelfstudies bekijken.

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave