Office: zwei Buttons

Helfe beim Thema zwei Buttons in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich hoffe ihr könnt mir hier weiterhelfen. Ich habe nicht nur zwei, sondern 56 Buttons, die alle fast die gleiche Funktion haben. Sie... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von LagrangeX, 14. Dezember 2013.

  1. zwei Buttons


    Hallo zusammen,

    ich hoffe ihr könnt mir hier weiterhelfen. Ich habe nicht nur zwei, sondern 56 Buttons, die alle fast die gleiche Funktion haben. Sie sollen alle eine pdf-Datei öffnen (Achtung nicht die selbe).

    Kann ich es irgendwie erreichen, dass ein Klick auf eines der 56 Buttons immer das selbe Sub aufruft? Ich habe nämlich keine Lust 56 Subs mit fast identischen Inhalt zu schreiben *rolleyes.gif*

    Vielen Dank für eure Hilfe
    Thorsten

    :)
     
    LagrangeX, 14. Dezember 2013
    #1
  2. Hajo_Zi
    Hajo_Zi Erfahrener User
    ja rufe in allen die gleiche Sub auf Du musst nur mit Application.caller unterscheiden welcher Schalter in der Sub.
     
  3. Hallo Thorsten,

    die Verwendung von Hyperlinks könnte die Sache vereinfachen.
    Alternative: Du kannst auch per Button eine Prozedur mit übergebenem Parameter aufrufen, analog zu diesem alten Thema:
    OnTime und Übergabe von Parametern

    Grüße
    EarlFred
     
    EarlFred, 16. Dezember 2013
    #3
  4. zwei Buttons

    Hallo Hajo,

    mmh tut mir leid, aber ich bin wohl zu dumm *frown.gif*. Habe jetzt mal ein bischen nach Application.caller gegoogled, aber irgendwie finde ich da nicht viel.

    Ich dachte immer, dass bei einem Klick auf ein Button, das Sub mit dem gleichen Namen des Buttons aufgerufen wird.

    Also wenn es Button1 heißt, dann das Sub "Button1_Click()". Wie kann ich da jetzt sagen, dass er beim Button1 und beim Button2 das Sub "Button_Click()" aufrufen soll.

    Viele Grüße
    Thosten
     
    LagrangeX, 16. Dezember 2013
    #4
  5. Hajo_Zi
    Hajo_Zi Erfahrener User
    Sub "Button1_Click()
    Button
    End Sub
    Sub "Button2_Click()
    Button
    End Sub
    Sub "Button3_Click()
    Button
    End Sub
     
  6. Ah ok, stimmt - so kann man es wenigstens etwas abkürzen.

    Ich habe allerdings gehofft, dass ich die Subs zu Button1 und Button2 gar nicht explizit aufrufen muss, sondern dass es eine ähnliche Funktion wie die folgende gibt:

    For i = 1 to 56
    Controls("Button" & i)
    Next
     
    LagrangeX, 16. Dezember 2013
    #6
  7. Hallo Thomas,

    das geht grundsätzlich auch über Klassenprogrammierung. Ob das dann aber eine wirklich Vereinfachung ist, vor allem da auch hier noch die Frage der unterschiedlichen Dateinamen zu beachten wäre?

    Zumindest der (geänderte) Dateiname sollte noch als Attribut an die Sub übergeben werden.

    Was spricht denn gegen Hyperlinks?

    Grüße
    EarlFred
     
    EarlFred, 16. Dezember 2013
    #7
  8. zwei Buttons

    Also die einzelnen Buttons habe ich schon sehr einfach benannt, damit ich zur Weiterverarbeitung leicht einen Array draus machen kann.

    Es gibt "T1" bis "T56", was ich dann im Folgenden in der Programmierung zu einem Array "T" zusammengefasst habe. Den jeweiligen Dateinamen (inkl. Pfad), der zu öffnenden PDF-Datei kann ich aus T1.Caption bis T56.Caption erzeugen.

    Habe ich mit Hyperlinks nicht die selben Probleme? Die müsste ich doch auch für alle 56 Felder definieren - vor Allem, wenn der Pfad dynamisch zum Speicherort des Programmes ist und sich die Funktionsweise (je nach vorherigem Programmverlauf) ändern kann.

    Ich bin aber froh, dass die Lösung nicht super leicht ist und ich mich hier als VollNoob oute *Smilie.

    Aber Hajos Vorschlag ist ja schon mal eine ganz gute Lösung - so spare ich mir wenigstens ein paar Zeilen Code.

    Vielen Dank an Alle - vielleicht hat ja doch noch jemand eine bessere Lösung. Werde jetzt erst einmal an einer anderen Stelle im Programm weitermachen - vielleicht hilft ja auch eine Nacht drüber Schlafen *Smilie
     
    LagrangeX, 16. Dezember 2013
    #8
  9. Hallo Thomas,

    von was reden wir denn nun? Button auf einem Tabellenblatt oder in einer Userform?

    Ob Hyperlinks einfacher zu handhaben sind? Kommt auf die Hintergründe an, von denen ich nicht mehr kenne als ein paar neblige Fragemente.

    Klingt also doch irgendwie nach Commandbuttons auf einer Userform... Dann wäre Klassenprogrammierung in der Tat eine Option.

    Grüße
    EarlFred
     
    EarlFred, 16. Dezember 2013
    #9
  10. Hallo Thomas,

    Beispiel für eine Userform:
    Code:
    Code:
    Damit kannst Du mehrere 1000 Buttons behandeln... *wink.gif*

    Grüße
    EarlFred
     
  11. Oh das klingt klasse!!!! Ja es handelt sich um Userforms - sorry hätte ich gleich dazuschreiben sollen.

    Werde ich gleich mal ausprobieren. Mir ist nur noch nicht ganz klar, wie ich dem Ding sage, auf welche Buttons sich das bezieht. Aber das finde ich schon noch raus *Smilie. Ich nehme mal an, dass das irgendwie in "colButtons" liegt

    Nochmal vielen vielen Dank
    Thorsten
     
    LagrangeX, 16. Dezember 2013
    #11
  12. Hallo Thorsten,

    Erklärungsversuch:
    Es gibt eine Klasse namens "clsCmdBtn", in der eine Variable "cmd" existiert, die einen Commandbutton speichern kann. Durch "WithEvents" kann auf Ereignisse des Buttons in dieser Variable reagiert werden.

    Als Beispiel ist das Klick-Ereignis eingefügt:
    Code:
    Die Caption des Buttons (nach Deinen Angaben der Dateiname) wird ausgegeben.

    Im Codemodul der Userform existiert nur ein globaler "Sammelbehälter" (colButtons), in dem für jeden Button eine Klasse instanziert wird, in der dann der Button der Variablen zugewiesen wird. Solange dieser Sammelbehälter die Buttons beinhaltet, kann auf deren Ereignisse reagiert werden. Die Zuweisung geschieht beim Initialisieren der Userform.

    Das als kurze, konfuse Zusammenfassung. Als Beschäftigung für ruhige Stunden empfehle ich gerne die tolle Lektüre des Herrn Peter Haserodt auf online-excel

    Grüße
    EarlFred
     
  13. zwei Buttons

    Hi EarlFred,

    ES HAT GEKLAPPT!!!!! *grins Das macht meinen Code jetzt um einiges schlanker und ich habe wieder viel gelernt.

    Nochmal vielen vielen Dank für die Unterstützung!
    Thorsten
     
    LagrangeX, 18. Dezember 2013
    #13
Thema:

zwei Buttons

Die Seite wird geladen...
  1. zwei Buttons - Similar Threads - Buttons

  2. pdf drucken mit button in excel einfügen

    in Microsoft Excel Hilfe
    pdf drucken mit button in excel einfügen: Guten Abend! Habe mit zahlreicher Unterstützung geschafft einen Button auf mein dritten Tabellenblatt einzufügen Funktion fähig. Nun brauche ich nochmals Hilfe. Ich will mittels des PDF Drucken...
  3. Excel per Button Speichern und Schliessen und "X - Button" deaktivieren

    in Microsoft Excel Hilfe
    Excel per Button Speichern und Schliessen und "X - Button" deaktivieren: Guten Morgen zusammen, ich suche nach einem VBA-Code (unter Office 365), um das Schließen einer Excel-Datei über das "Rote X" oben rechts zum Einen zu verhindern und statt dessen zum Anderen den...
  4. Makro aus personal.xls starten

    in Microsoft Excel Hilfe
    Makro aus personal.xls starten: Auf einem Arbeitsblatt habe ich mehrere Buttons. Die zugehörigen Makros sind in personal.xls gespeichert. Aus dem Code-Editor heraus kann ich die Makros ohne Problem starten. auf dem Arbeitsblatt...
  5. Zufällige Zahl wiedergeben mit Schaltfläche/ Button

    in Microsoft Excel Hilfe
    Zufällige Zahl wiedergeben mit Schaltfläche/ Button: Hallo zusammen Ich habe in einer Tabelle in den Zellen A1 - A2000 unterschiedliche Zahlen stehen. Nun möchte ich in einem anderen Tabellenblatt einen Button generieren. Wenn man auf diesen...
  6. Comando Button

    in Microsoft Excel Hilfe
    Comando Button: Liebe Leute Habe in der User form ein ComandoButton eingebaut. Möchte mit diesem ein Bild aufrufen und einfügen im Button aus der Bilderdatei. Habe es schon probiert funktioniert aber nicht was...
  7. Songbook erstellen mit Button

    in Microsoft Excel Hilfe
    Songbook erstellen mit Button: Hallo zusammen ich wäre mal wieder für Hilfe beim Songbook erstellen dankbar Ich stelle mir an der Oberfläche je einen Button pro Interpreten vor, den man anklickt und dann die dazu gehörigen...
  8. Excel VBA mit Toggle Button Zeile einfärben

    in Microsoft Excel Hilfe
    Excel VBA mit Toggle Button Zeile einfärben: Hallo, ich habe ein Makro für einen activeX Toggle Button. Wenn dieser nicht betätigt ist, sollen bestimme Zellen in einer Reihe ihre Hintergrundfarbe ( hexal #FFFFFF ; RGB 255 255 255)...
  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