Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: CommandButton Name in Userform auslesen

CommandButton Name in Userform auslesen
16.02.2016 09:49:09
Vincent
Hallo Zusammen,
wie kann ich den CommandButton Name in Userform über VBA bekommen? Habe zwar ein paar Beiträge gelesen, wie z.B. im Folgenden:
Am Ende habe ich aber nur die Augabe "n"(steht für MultiPage_Main, wobei ich nicht verstehe), sondern keine erwartete Buttonnummer bekommen.
Option Explicit
Private Sub CommandButton1_Click()
Call Tuwas
End Sub
Private Sub CommandButton2_Click()
Call Tuwas
End Sub
Private Sub CommandButton3_Click()
Call Tuwas
End Sub
Private Sub Tuwas()
MsgBox "Die Nummer des CommandButtons lautet: " & Right(Me.Selected(0).Name, 1)
End Sub
kann jemand mir weiter helfen? Vielen Dank im Voraus.

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: CommandButton Name in Userform auslesen
16.02.2016 10:32:40
Rudi
Hallo,

Private Sub Tuwas()
MsgBox "Die Nummer des CommandButtons lautet: " & Right(Me.ActiveControl.Name, 1)
End Sub

Gruß
Rudi

AW: CommandButton Name in Userform auslesen
16.02.2016 11:00:52
Vincent
Hallo Rudi,
zuerst vielen Dank für deine Antwort, allerdings ist die Ausgabe nach wie vor nur die "n".
LG
Vincent

Anzeige
AW: CommandButton Name in Userform auslesen
16.02.2016 13:18:44
Rudi
Hallo,
Sub tuwas()
MsgBox Right(ActiveControl.Pages(ActiveControl.Value).ActiveControl.Name, 1)
End Sub
Gruß
Rudi

AW: CommandButton Name in Userform auslesen
16.02.2016 13:22:32
Vincent
Hallo Rudi,
jetzt funktioniert es perfekt. Vielen Dank!
MFG
Vincent

AW: CommandButton Name in Userform auslesen
16.02.2016 15:59:29
Vincent
Hallo Rudi,
hättest du auch Ahnung zu dem Beitrag unter Betreff "CommandButton Name in Userform referenzieren"?
MFG
Vincent
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

CommandButton Name in Userform auslesen


Schritt-für-Schritt-Anleitung

Um den Namen eines CommandButton in einer Userform über VBA auszulesen, folge diesen Schritten:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel (Alt + F11).

  2. Erstelle eine neue Userform und füge mehrere CommandButtons hinzu.

  3. Füge den folgenden Code in den Codebereich der Userform ein:

    Option Explicit
    
    Private Sub CommandButton1_Click()
       Call Tuwas
    End Sub
    
    Private Sub CommandButton2_Click()
       Call Tuwas
    End Sub
    
    Private Sub CommandButton3_Click()
       Call Tuwas
    End Sub
    
    Private Sub Tuwas()
       MsgBox "Die Nummer des CommandButtons lautet: " & Right(Me.ActiveControl.Name, 1)
    End Sub
  4. Starte die Userform und klicke auf einen der CommandButtons. Eine MessageBox zeigt die Nummer des geklickten Buttons an.


Häufige Fehler und Lösungen

  • Problem: Die Ausgabe zeigt nur "n".

    • Lösung: Stelle sicher, dass du Me.ActiveControl.Name verwendest, um den Namen des aktiven Controls korrekt zu erhalten. Hier ist ein alternativer Code:
    Private Sub Tuwas()
       MsgBox "Die Nummer des CommandButtons lautet: " & Right(Me.ActiveControl.Name, 1)
    End Sub
  • Problem: Der Code funktioniert nicht wie erwartet.

    • Lösung: Überprüfe, ob die Userform und die CommandButtons korrekt benannt sind und ob die Ereignisse richtig verknüpft sind.

Alternative Methoden

Eine weitere Methode zur Auslesung des CommandButton-Namens könnte wie folgt aussehen:

Sub tuwas()
    MsgBox Right(ActiveControl.Pages(ActiveControl.Value).ActiveControl.Name, 1)
End Sub

Diese Methode ermöglicht es dir, eine tiefergehende Kontrolle über die Userform und ihre Controls zu haben und ist besonders nützlich für komplexere Userforms.


Praktische Beispiele

Angenommen, du hast drei CommandButtons namens CommandButton1, CommandButton2 und CommandButton3. Der folgende Code zeigt, wie du den Namen des geklickten Buttons auslesen kannst:

Private Sub CommandButton1_Click()
    MsgBox "Du hast Button 1 geklickt!"
End Sub

Private Sub CommandButton2_Click()
    MsgBox "Du hast Button 2 geklickt!"
End Sub

Private Sub CommandButton3_Click()
    MsgBox "Du hast Button 3 geklickt!"
End Sub

Wenn du die Tuwas-Methode anpassen möchtest, um spezifische Aktionen für jeden Button auszuführen, kannst du dies durch Überprüfung des ActiveControl.Name tun.


Tipps für Profis

  • Nutze Option Explicit am Anfang deines Codes, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft, Fehler zu vermeiden.
  • Verwende aussagekräftige Namen für deine CommandButtons, damit du den Code leichter verstehen kannst.
  • Experimentiere mit der UserForm-Ereignisprozeduren, um das Verhalten deiner Buttons zu steuern.

FAQ: Häufige Fragen

1. Wie kann ich mehrere CommandButtons gleichzeitig ansprechen?
Du kannst eine Schleife verwenden, um durch alle CommandButtons in der Userform zu iterieren und eine gemeinsame Methode aufzurufen.

2. Funktioniert dieser Code in allen Excel-Versionen?
Der gegebenen Code sollte in den meisten modernen Excel-Versionen mit VBA funktionieren. Stelle sicher, dass du in einer Umgebung arbeitest, die VBA unterstützt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige