Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Eigen knop koppelen aan macro in VBE  (gelezen 52358 keer)

0 leden en 2 gasten bekijken dit topic.

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.643
  • Geslacht: Man
  • Nobody is perfect, not even me...
Eigen knop koppelen aan macro in VBE
« Gepost op: 06 maart 2026, 17:55:18 »
Hallo beste mensen,

dit zal niet vaak gevraagd worden, daar ben ik me van bewust.

Ik zou graag een Macro laten "afspelen", en als trigger moet een eigen knop in het lint (snelstartbalk) van de VB-Editor gekoppeld worden aan die macro.

Ik heb in het lint een eigen CommandBar aangemaakt, en daarin een knop gezet. So far, so good.

Maar nu vind ik nergens de code (of een andere manier) om die macro aan die knop te koppelen.

PS: De macro staat in PERSONAL.XLSB. Heeft iemand een weinig ervaring hiermee?

:) SoftAid :)             
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !
Windows 11 Home 24H2   Office 2024 Pro Plus Nederlands

Offline RedHead

  • Excel-Expert
  • Ambassadeur
  • *****
  • Berichten: 2.344
  • Geslacht: Man
  • Met Excel lukt 't wel.... (toch???)
Re: Eigen knop koppelen aan macro in VBE
« Reactie #1 Gepost op: 07 maart 2026, 12:07:38 »
SoftAid, hoe heb je een snelstartbalk aangemaakt in de VBE? Ik wist niet eens dat dit kon, en met zoeken kon ik er ook niets over vinden?
Moet dat een koppeling worden naar die "inspring macro" die je gebruikt om je procedures in de VBE netjes te maken?

[EDIT] Gevonden...
______________________________

Groet, Leo

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.643
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Eigen knop koppelen aan macro in VBE
« Reactie #2 Gepost op: 08 maart 2026, 22:05:54 »
SoftAid, hoe heb je een snelstartbalk aangemaakt in de VBE? Ik wist niet eens dat dit kon, en met zoeken kon ik er ook niets over vinden?  ......[EDIT] Gevonden...

Gevonden, ja,... maar....... Die link naar Reddit  ""Is there a way to use VBA to add shortcuts to the Excel Quick Access toolbar?"" is er eentje om Snelkoppelingen te maken in het Excel-lint, niet in het VBE lint.

Citaat
Moet dat een koppeling worden naar die "inspring macro" die je gebruikt om je procedures in de VBE netjes te maken?
Ja inderdaad. En die macro's "indenten" doe je liefst van in de editor, niet vanuit Excel. Maar daar zit ik vast. VBE ondersteunt dat niet (meer). Je kan geen eigen macro toewijzen aan een knop in het lint (of de snelstartbalk) van de Editor. Vandaar mijn vraag. Dat zou zo te lezen met oude taal moeten kunnen COM of CC+ en zo, maar ik heb al weinig koek gegeten van VBA, dus nu nog een andere taal.... 

De "eigen" Snelstartbalk aanmaken is geen must, je kan ook een knop aanmaken in een bestaande balk (Standard, enzovoort) via VBA (Zie code), maar ik kan geen Macro toekennen aan die knop.
Normaal zou dat via de eigenschappen van die knop moeten, met de opdracht "OnAction = [bvb Indent Macro]", maar daar loopt hij overweg, zonder foutmelding, maar ook zonder iets uit te voeren.

Public Sub AddIndenterToolbar()
   
    Dim cb As CommandBar
    Dim btn As CommandBarButton
         
    ' Nieuwe toolbar maken
    Set cb = Application.VBE.CommandBars.Add( _
    Name:="Indenter", _
    Position:=msoBarTop, _
    Temporary:=False)
   
    cb.Visible = True
   
    ' Knop toevoegen
    Set btn = cb.Controls.Add(Type:=msoControlButton, Temporary:=False)
   
    With btn
        .Caption = "Indent"
        .Style = msoButtonIconAndCaption
        .FaceId = 107
        .OnAction = "IndentActiveModule"
    End With
   
    End Sub

Misschien tref ik toch iemand die me hier kan verder helpen. Je kan de Indenter code wel uitvoeren via Excel zelf, maar voor de meeste mensen zou dat onhandig zijn om en Excel, en de Editor open te hebben staan. Ikzelf heb 2 grote schermen, dus maakt het mij niet zo veel uit, maar ik wilde de Indenter toegankelijker maken voor iedereen.

Morgen is een nieuwe dag  :). Dan brainstormen we nog wat verder... Bedankt voor de interesse.

Theo

:) SoftAid :)             
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !
Windows 11 Home 24H2   Office 2024 Pro Plus Nederlands

Offline mvdvlist

  • Volledig lid
  • **
  • Berichten: 155
  • Geslacht: Man
  • Oplossing.be
Re: Eigen knop koppelen aan macro in VBE
« Reactie #3 Gepost op: 10 maart 2026, 12:39:29 »
Application.Run PERSONAL.XLSB! "naam van je macro"

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.643
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Eigen knop koppelen aan macro in VBE
« Reactie #4 Gepost op: 10 maart 2026, 15:46:52 »
Hallo mvdvlist,

bedankt voor je reactie, maar in VBE werkt dit evenmin als OnAction.

Het is na weken zoeken en proberen wel duidelijk dat MS hun (Excel) Editor verwaarloost hebben.
De versie van 25 jaar geleden (32bits) konden veel meer dan wat de VBE vandaag kan. Er zijn zaken verdwenen uit de motor-ruimte van de Editor, waardoor VBA niet meer hetzelfde aankan.

Verwonderlijk is wel dat je WEL een werkbalk kan aanmaken via VBA, dat je een knop kan zetten in die (of standaard) werkbalk(en), maar je kan geen actie koppelen aan die knop. Geen foutmeldingen, geen flikkeringen, niets. Maar ook geen macro uitvoeren.

OK, dan start ik de macro maar vanuit de Excel knoppenbalk zelf, of vanuit de module waarin hij staat. Het zij zo. Geen man overboord  0:-).

Groeten,

:) SoftAid :)             
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !
Windows 11 Home 24H2   Office 2024 Pro Plus Nederlands

 


www.combell.com