Office: Dynamisch erstellten Buttons Click-Event zuweisen

Helfe beim Thema Dynamisch erstellten Buttons Click-Event zuweisen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; guten Nachmittag, Ich habe grad ein Problem und komme einfach gerade überhaupt nicht drauf wie ich das lösen kann, obwohl es recht simpel sein muss.... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von KimmichsBar, 7. November 2015.

  1. Dynamisch erstellten Buttons Click-Event zuweisen


    guten Nachmittag,

    Ich habe grad ein Problem und komme einfach gerade überhaupt nicht drauf wie ich das lösen kann, obwohl es recht simpel sein muss.

    Ich erzeuge in einem anderen makro dynamisch eine Tabelle. In mehreren Spalten will ich Buttons einfügen, diese beschriften und wenn man später drauf klickt einfach nur von rot auf grün und anders herum färben. So eine Art "Checkbox" eben bunt dargestellt als Button.

    Ich habe mir gedacht ich schreibe eine Prozedur, welche einfach die Farbe von grün auf rot und umgekehrt ändert. Jetzt weiß ich gerade nur nicht wie ich den erstellten Buttons diese Prozedur als Click Event zuweise und diesen auch umbenennen kann.

    Momentan habe ich nur mit dem Makro-Rekorder den Code für das Erstellen eines Buttons und komme gerade überhaupt nicht weiter.


    Gruß und schonmal Danke im vorraus,
    Daniel

    :)
     
    KimmichsBar, 7. November 2015
    #1
  2. Hallo,

    im Prinzip mit Formularbuttons so:
    Gruß, Muller
     
  3. Servus Muller,

    vielen Dank für die schnelle Antwort. Der Code funktioniert soweit einwandfrei. Nur würde ich gerne die Hintergrundfarbe und nicht die Schriftfarbe ändern. Ist dies auch mit den Formularsteuerelementen oder den ActiveX Steuerelementen möglich oder nicht?


    Gruß
    Daniel
     
    KimmichsBar, 9. November 2015
    #3
  4. Dynamisch erstellten Buttons Click-Event zuweisen

    Hallo,

    dazu benötigst du eine Klasse für CommandButtons. Wenn du mir deinen Code zeigst dann kann ich dir eine Mustermappe erstellen.
     
    Nepumuk, 9. November 2015
    #4
  5. Beverly
    Beverly Erfahrener User
    Hi Daniel,

    das geht mit Klassenprogrammierung.


    Dynamisch erstellten Buttons Click-Event zuweisen grusz.gif
     
    Beverly, 9. November 2015
    #5
  6. Kann ich später machen, bin grad auf dem nach Hause Weg. Habe noch nie etwas mit Klassen gemacht, aber wollte mir es schon mal anschauen was das damit auf sich hat, aber kam noch nicht dazu

     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    KimmichsBar, 9. November 2015
    #6
  7. Beverly
    Beverly Erfahrener User
    Hi Daniel,

    speichere die Mappe zuerst mit daktivierten Makros und öffne sie dann erneut mit aktivierten Makros.


    Dynamisch erstellten Buttons Click-Event zuweisen grusz.gif
     
    Beverly, 9. November 2015
    #7
  8. Dynamisch erstellten Buttons Click-Event zuweisen

    Guten Morgen!

    Bin leider gestern daheim zu nichts mehr bekommen.

    @Beverly: Super funktioniert genau so wie ich es mir vorgestellt habe, jetzt muss ich es gleich nur mal bei mir in den Code implementieren und anpassen.
    Ich verstehe nur nicht, was die Methode "InitSchalter" genau macht?

    Code:
    Wenn du mir das kurz erklären würdest, was diese Methode genau macht, wäre das der Hammer

    @Nepumuk: Danke für die Bemühungen, aber um nicht zweigleisig zu fahren nehme ich jetzt einfach mal den code von Beverly als Orientierungshilfe!

    Gruß
    Daniel
     
    KimmichsBar, 9. November 2015
    #8
  9. Beverly
    Beverly Erfahrener User
    Hi Daniel,

    wenn man eine Klasse verwendet, dann müssen die entsprechenden Objekte der Klasse zugewiesen werden, damit man später darauf zugreifen kann - und genau das macht dieser Code. Die Variable arrSchalter() ist dabei quasi der Container (der Klasse), der die Objekte aufnimmt.


    Dynamisch erstellten Buttons Click-Event zuweisen grusz.gif
     
    Beverly, 9. November 2015
    #9
  10. Ok, vielen Dank.

    Ich habe das mal so ungefähr übernommen und es funktioniert auch soweit.

    Habe die Buttons noch an die Zelle gebunden mit .Placement = xlMoveAndSize da ich per Makro auch wieder Zeilen lösche!

    Ich bedanke mich erstmal recht Herzlich und markiere das Thema als erledigt, aber es kann sein, dass ich laufe der Woche nochmals was kommt da ich das Projekt noch nicht ganz abgeschlossen habe.

    Danke und Gruß
    Daniel
     
    KimmichsBar, 10. November 2015
    #10
  11. Ok schon die erste Frage *biggrin.gif*

    habe in der schleife in der ich die Buttons erzeuge noch mehrere If abfragen, welcher Text auf die Buttons soll. Dies funktioniert auch wunderbar. Das Problem ist nur, dass ich auch eine Else hab, falls keine If zutrifft. In diesem Else soll der Button dann nicht erzeugt werden. Nun weiss ich aber nicht genau wie der befehl dafür aussehen soll.

    Code:
    Ich habe sowas ähnliches gedacht aber bekomme immer Fehlermeldungen weil es natürlich nicht ganz richtig ist *biggrin.gif*

    Ich hoffe dass ihr versteht was ich meine


    Gruß
    Daniel
     
    KimmichsBar, 10. November 2015
    #11
  12. Beverly
    Beverly Erfahrener User
    Hi Daniel,

    wenn weder die erste Bedingung If i = 0 noch die 2. Bedingung ElseIf i = 1 erfüllt ist, muss doch gar nicht erst ein Schalter erstellt werden - erstelle den Schalter also erst immerhalb der If-Anweisung

    Code:
    Dynamisch erstellten Buttons Click-Event zuweisen grusz.gif
     
  13. Dynamisch erstellten Buttons Click-Event zuweisen

    Das ist natürlich verdammt richtig und ich merk schon dass ich wieder zu viel und zu kompliziert denke!


    Aber ich habe noch etwas bemerkt, was mir schon einmal wo anders mit ActiveX-Checkboxen passiert ist.

    Ich arbeite an meinem Laptop der an einer Dockingstation hängt ( VGA und DVI ausgang auf 2 Monitore). Klicke ich hier auf die Buttons/Checkboxen und dann wo anders ins Tabellenblatt ist alles normal. Sobald ich aber den Laptop abdocke, und dann an einen Beamer anschließe oder ohne Monitore betreibe, dann werden die Buttons/Checkboxen nach jedem Klick kleiner. Das ist natürlich sehr schlecht, da man es nach 2-3 mal klicken schon gar nicht mehr sieht.
    Blende ich die Zelle aus und direkt wieder ein, dann ist der Button/Checkbox wieder in Originalgröße da.

    Ist das Problem bekannt, ich habe keine Ahnung woher das kommen soll!


    PS: Mein Arbeitskollege hat einen neuen Monitor und hat das selbe Problem mit Dockingstation und HDMI-Kabel
     
    KimmichsBar, 10. November 2015
    #13
  14. Beverly
    Beverly Erfahrener User
    Ja, dieses Prolbem bei ActiveX-Steuerelementen ist bekannt.
    Du kannst höchstens versuchen die Schalter per VBA wieder auf die richtige Größe und Position zu bringen.


    Dynamisch erstellten Buttons Click-Event zuweisen grusz.gif
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
  15. Ok, das ist ja blöd, denn es sind nicht alle Elemente gleich groß.

    Aber noch ein Problem was ich gerade bemerkt habe.
    Ich erstelle die Buttons ja per Makro, solange dann die Mappe geöffnet ist funktioniert auch alles. Habe die Zeile rausgenommen welche alle Buttons löscht, da ich die ja nachdem ich die Datei geschlossen habe auch wieder da haben will.

    Nun ist mir aufgefallen, dass dein Code jedesmal beim Öffnen der Arbeitsmappe alle Buttons entfernt und die neuen wieder einfügt. Das soll bei mir aber nicht passieren. Nachdem ich dann die Mappe neu öffne, und bei "Workbook_OnOpen" ja nicht das Makro ausführe funktioniert die Prozedur welche die Farbe wechselt nicht mehr.

    Kann man den Buttons nicht dauerhaft dieses Event beim Klicken zuweisen? Weil das ist ja genau was ich will *upps

    Gruß und schönen Abend
    Daniel
     
    KimmichsBar, 10. November 2015
    #15
Thema:

Dynamisch erstellten Buttons Click-Event zuweisen

Die Seite wird geladen...
  1. Dynamisch erstellten Buttons Click-Event zuweisen - Similar Threads - Dynamisch erstellten Buttons

  2. Dynamischer Pfad

    in Microsoft Access Hilfe
    Dynamischer Pfad: Hallo ins Forum, ich habe eine Frage. Ich habe mir eine Datenbank in Access erstellt. Diese lade ich mir über Power Query in eine Excel Tabelle. Soweit alles kein Problem. Aber wie kann ich dort...
  3. dynamische Bezug auf Feiertagskalender in Formel "Nettoarbeitstage"

    in Microsoft Excel Hilfe
    dynamische Bezug auf Feiertagskalender in Formel "Nettoarbeitstage": Hallo Zusammen, ich habe leider ein paar Schwierigkeiten die Nettoarbeitstage von Mitarbeitern an verschiedenen Standorten in verschiedenen Bundesländern zu ermitteln. Irgendwie stehe ich gerade...
  4. Dynamische Verknüpfung von Dokumenten

    in Microsoft Word Hilfe
    Dynamische Verknüpfung von Dokumenten: Hi, ich muss 10 unterschiedliche Vertragsvorlagen, die aber alle identische Anlagen haben, im Word neu aufbauen. Bislang hatten wir LibreOffice im Einsatz. Dort hatte ich Globaldokumente angelegt...
  5. Mittelwert aus mehreren Spalten als dynamisches Array

    in Microsoft Excel Hilfe
    Mittelwert aus mehreren Spalten als dynamisches Array: Hallo liebes Forum, ich bin bei folgendem Problem ratlos: Ich berechne für verschiedene Dozenten Feedback anhand von 3 verschiedenen Kriterien. Die Stammdaten der Feedbacks stehen in einer...
  6. Erstellung eines Dynamischen Kalenders

    in Microsoft Excel Hilfe
    Erstellung eines Dynamischen Kalenders: Guten Morgen an Alle, ich hoffe, es geht euch soweit gut :) Ich wende mich heute an euch, weil ich gerade vollkommen verzweifle und irgendwie so ganz und garnicht weiterkomme und irgendwie...
  7. Erstellung eines Dynamischen Kalenders (ggf. VBA)

    in Microsoft Word Hilfe
    Erstellung eines Dynamischen Kalenders (ggf. VBA): Guten Morgen an Alle, ich hoffe, es geht euch soweit gut :) Ich wende mich heute an euch, weil ich gerade vollkommen verzweifle und irgendwie so ganz und garnicht weiterkomme und irgendwie...
  8. Dynamische Combobox mit zwei Bedingungen

    in Microsoft Excel Hilfe
    Dynamische Combobox mit zwei Bedingungen: Hallo ich bräuchte einen vba Code welcher eine dynamische Combobox befüllt. Zudem soll die Combobox alle schon eingetragenen Daten in einer Spalte beim Dropdown ausschiessen damit keine Doppelten...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden