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

Commandbutton variable ansprechen

Forumthread: Commandbutton variable ansprechen

Commandbutton variable ansprechen
02.06.2016 12:05:08
Sebastian
Hallo User,
ich versuche per VBA verschiedene Comandbutton über eine Variable anzusprechen.
Leider klappt das nicht so, wie ich mir das vorstelle. Kann mir jemand sagen, was ich falsch mache?
Hier mein vereinfachtes Problem:
Sub Funktioniert
ActiveSheet.ABC.Caption = "4"
End Sub
Sub Zunktioniert_NICHT
CBname = "ABC"
ActiveSheet.CBname.Caption = "4"
End Sub

So wie im unteren Code stelle ich mir das vor.
Vielen Dank
Gruß Sebastian

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Commandbutton variable ansprechen
02.06.2016 12:13:54
Rudi
Hallo,
ActiveSheet.Shapes(CBname).DrawingObject.Object.Caption = "4"
Gruß
Rudi

AW: Commandbutton variable ansprechen
02.06.2016 13:00:07
Sebastian
Vielen DANK!
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Commandbutton in Excel über Variablen ansprechen


Schritt-für-Schritt-Anleitung

Um einen CommandButton in Excel über eine Variable anzusprechen, kannst Du den folgenden VBA-Code verwenden. Es ist wichtig, dass der Name des CommandButtons korrekt in der Variable gespeichert wird.

  1. Öffne das VBA-Editor-Fenster in Excel (Alt + F11).
  2. Füge ein neues Modul hinzu (Rechtsklick auf „VBAProject“ > Einfügen > Modul).
  3. Kopiere den folgenden Code in das Modul:
Sub CommandButtonAnsprechen()
    Dim CBname As String
    CBname = "ABC" ' Hier den Namen des CommandButtons angeben
    ActiveSheet.Shapes(CBname).DrawingObject.Object.Caption = "4"
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Führe das Makro aus (Alt + F8, wähle „CommandButtonAnsprechen“ und klicke auf „Ausführen“).

Häufige Fehler und Lösungen

  • Fehler: „Objekt nicht gefunden“
    Mögliche Ursache ist, dass der Name des CommandButtons falsch geschrieben wurde. Überprüfe den Namen im Eigenschaftenfenster des CommandButtons.

  • Fehler: „Laufzeitfehler 91“
    Dieser Fehler tritt auf, wenn die Variable nicht richtig initialisiert wurde. Stelle sicher, dass die Variable CBname korrekt gesetzt ist, bevor Du den Code ausführst.


Alternative Methoden

Eine alternative Methode, um CommandButtons anzusprechen, besteht darin, den Button direkt über seine Indexnummer anzusprechen. Beispiel:

Sub DirektAnsprechen()
    ActiveSheet.Shapes(1).DrawingObject.Object.Caption = "4" ' 1 ist der Index des CommandButtons
End Sub

Diese Methode ist jedoch weniger flexibel, da sie sich auf die Position des CommandButtons auf dem Arbeitsblatt stützt.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du verschiedene CommandButtons ansprechen kannst:

  1. Ändere die Beschriftung eines CommandButtons:
Sub ButtonBeschriftungAendern()
    Dim CBname As String
    CBname = "MeinButton"
    ActiveSheet.Shapes(CBname).DrawingObject.Object.Caption = "Neuer Text"
End Sub
  1. Setze die Sichtbarkeit eines CommandButtons:
Sub ButtonSichtbarkeitAendern()
    Dim CBname As String
    CBname = "MeinButton"
    ActiveSheet.Shapes(CBname).Visible = msoFalse ' Setzt den Button auf unsichtbar
End Sub

Tipps für Profis

  • Verwende Option Explicit am Anfang Deines Moduls, um sicherzustellen, dass alle Variablen deklariert werden müssen. Dies hilft, Fehler zu vermeiden.
  • Nutze die With-Anweisung, um den Code zu optimieren, wenn Du mehrere Eigenschaften eines CommandButtons ändern möchtest:
Sub ButtonMitWith()
    Dim CBname As String
    CBname = "ABC"
    With ActiveSheet.Shapes(CBname).DrawingObject.Object
        .Caption = "4"
        .Visible = msoTrue
    End With
End Sub

FAQ: Häufige Fragen

1. Wie kann ich mehrere CommandButtons gleichzeitig ansprechen?
Du kannst eine Schleife verwenden, um durch eine Liste von CommandButtons zu iterieren und deren Eigenschaften zu ändern.

2. Was mache ich, wenn ich den Namen eines CommandButtons nicht kenne?
Du kannst die Namen der CommandButtons im Eigenschaftenfenster im VBA-Editor überprüfen oder mit einer Schleife alle Formen auf dem Arbeitsblatt auflisten, um die Namen zu ermitteln.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige