Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Button-Name auslesen

Button-Name auslesen
23.10.2007 19:13:00
Franz
Hallo Fachleute,
in einem Blatt sind mehrere Buttons aus der "Formular-Leiste". Diese Buttons haben Namen, Beispiel Button1, Button2, Button3, Button4, ...........
Gibt es eine Möglichkeit, per VBA den Namen des Buttons auszulesen, der gedrückt wurde?
Alternativ die Frage, ob es geht, die Zeile, in der der Button steht auszulesen? Jeder Button ist unter Eigenschaften - Objektpositionierung formatiert als "Von Zellposition und -größe abhängig", steht also mit der übergeordneten Zelle in einer bestimmten Zeile. Kann man diese auslesen?
Ich bitte Euch um Eure Hilfe.
Danke schon mal im Voraus.
Grüße
Franz

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Button-Name auslesen
23.10.2007 19:26:10
Original
Hi,
geht alles, aber beschreib mal lieber, was du eigenlich damit erreichen willst.
mfg Kurt

AW: Button-Name auslesen
23.10.2007 19:32:00
Franz
Hallo Kurt,
danke für die Antwort. Hab ne Datei von einem Freund. In einer Spalte stehen untereinander 35 Buttons, die jeweils zu einem bestimmten benamten Bereich auf einem anderen Blatt führen. Der Name des gewünschten Bereichs steht in derselben Zeile wie der jeweilige Button in Spalte M. Dieser Name wird gelesen beim Drücken des Buttons und dorthin gesprungen. Beispiel:
....
strName = Range("m2")
Sheets(1).Activate
Sheets(1).Range(strName).Select
.....
Und das also in 35 kleinen Makros.....
Wollte nun versuchen, das in einem einzigen Makro zusammenzufassen, das jedem der Buttons zugewiesen wird.
Grüße
Franz

Anzeige
AW: Button-Name auslesen
23.10.2007 20:09:32
Original
Hi,
Application.Goto Tabelle1.Shapes(Application.Caller).TopLeftCell.Text, -1
wenn gescrollt werden soll -1, wenn nicht 0
Den Codenamen der Tabelle musst du anpassen.
mfg Kurt

AW: Button-Name auslesen
24.10.2007 08:54:00
Franz
Hallo Kurt,
vielen Dank für Deine Antwort. Sorry, dass ich gestern weg musste und nicht mehr geantwortet hab!
Auch wenn in Deinem Tipp für mich neue Anweisungen drin sind, schaut's doch eigentlich gut aus. Leider klappt's noch nicht, es kommt der Debugger mit "Typen unverträglich".
Leider versteh ich die Anweisung noch nicht ganz, drum find ich nicht, wo's hakt. Ich bitte Dich nochmal um Deine Hilfe.
Danke schonmal und Grüße
Franz

Anzeige
Nein danke, alles bestens!
24.10.2007 09:14:00
Franz
Hallo Kurt,
danke, es passt! Scheint ein Problem mit meinem Excel gewesen zu sein: nach Neustart klappt's nun einwandfrei. Vielen Dank nochmal, ist ne tolle Idee! Interessante neue Anweisungen gelernt.
Grüße
Franz
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Button-Namen in Excel mit VBA auslesen


Schritt-für-Schritt-Anleitung

Um den Namen eines Buttons in Excel auszulesen, der per VBA (Visual Basic for Applications) gedrückt wurde, kannst du den folgenden Code verwenden. Dieser Code liest den Namen des Buttons aus und springt zu einer bestimmten Zelle:

Sub Button_Click()
    Dim strName As String
    strName = Range("M" & ActiveSheet.Shapes(Application.Caller).TopLeftCell.Row).Value
    Sheets(1).Activate
    Sheets(1).Range(strName).Select
End Sub
  1. Öffne den VBA-Editor: Drücke ALT + F11.
  2. Füge ein neues Modul hinzu: Rechtsklicke auf "VBAProject (DeineDatei)" und wähle Einfügen > Modul.
  3. Kopiere den Code: Füge den oben angegebenen Code in das Modul ein.
  4. Verknüpfe den Button: Klicke mit der rechten Maustaste auf den Button, wähle Makro zuweisen und wähle das Makro Button_Click.
  5. Teste den Button: Klicke auf den Button, um den Namen auszulesen und zur gewünschten Zelle zu springen.

Häufige Fehler und Lösungen

  • Typen unverträglich: Dieser Fehler kann auftreten, wenn der Code nicht korrekt auf die Zelle zugreift. Stelle sicher, dass die Zelle, auf die verwiesen wird, tatsächlich einen Wert hat und dass der Button korrekt verknüpft ist.

  • Makro funktioniert nicht: Überprüfe, ob die Makros in deiner Excel-Datei aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center und aktiviere Makros.


Alternative Methoden

Falls du den Namen des Buttons nicht mit VBA auslesen möchtest, kannst du auch die Eigenschaften des Buttons manuell überprüfen:

  1. Klicke mit der rechten Maustaste auf den Button.
  2. Wähle Steuerelement formatieren.
  3. Unter dem Reiter Eigenschaften kannst du den Namen des Buttons einsehen.

Eine andere Möglichkeit ist die Verwendung von Excel-Formeln oder der Erstellung eines benutzerdefinierten Formulars, um den Button-Namen zu erfassen.


Praktische Beispiele

Angenommen, du hast in Zelle M2 den Namen eines Bereichs, und der Button, den du drückst, ist mit dem Makro Button_Click verknüpft. Wenn du auf den Button klickst, wird der Bereich in dem Blatt aktiviert, dessen Name in M2 steht.

Beispiel:

  • Button-Name: Button1
  • In Zelle M2 steht: Bereich1
  • Nach dem Klick wird der Bereich Bereich1 in dem ersten Blatt aktiviert.

Tipps für Profis

  • Verwende Application.Caller, um den Namen des Buttons dynamisch auszulesen. So kannst du denselben Code für mehrere Buttons verwenden, ohne ihn anpassen zu müssen.

  • Strukturiere deine Makros gut und kommentiere deinen Code, um ihn leichter verständlich zu machen.

  • Nutze die Debug.Print Anweisung, um Zwischenwerte zu überprüfen, wenn dein Makro nicht wie gewünscht funktioniert.


FAQ: Häufige Fragen

1. Wie kann ich den Namen des Buttons direkt im Code sehen?
Du kannst Debug.Print Application.Caller verwenden, um den Namen des Buttons in das Direktfenster auszugeben.

2. Was mache ich, wenn mein Excel nicht reagiert?
Speichere deine Arbeit, schließe Excel und starte es neu. Manchmal kann ein Neustart Probleme lösen.

3. Ist VBA in allen Excel-Versionen verfügbar?
Ja, VBA ist in den meisten Excel-Versionen verfügbar, jedoch kann die Benutzeroberfläche leicht variieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige