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

Buttons per VBA beschriften

Forumthread: Buttons per VBA beschriften

Buttons per VBA beschriften
31.08.2003 19:29:11
Hans T.
Hallo

Auf einer Excel-Tabelle befinden sich mehrere Buttons (offiziell "Schaltfläche" genannt), die aus der "Formular"-Toolbox eingefügt worden waren. Damit werden VBA-Makros gestartet.

Nun möchte ich den Text auf den Buttons direkt von VBA aus ändern, damit ich diese nicht mehr einer Zelle zuweisen muss. Methoden wie ActiveSheet.Shapes("btnMax").Caption oder ähnlich funktionieren nicht. Ebensowenig kennt der Button die Eigenschaften .Text oder .Value.

Die Buttons möchte ich nicht durch ActiveX ersetzen, da die Tabellen bereits existieren.

Kennt jemand einen Trick? Danke für Hinweise.

Viel Gruss
Hans T.
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Buttons per VBA beschriften
31.08.2003 19:33:11
Hajo_Zi
Hallo Hans

sehe ich das falsch?? Ich würde es so schreiben


Private Sub CommandButton1_Click()
If CommandButton1.Caption = "Start" Then
CommandButton1.Caption = "Stop"
Else
CommandButton1.Caption = "Start"
End If
End Sub


Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.

Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.

Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen.
Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.
Anzeige
Schön wär's
31.08.2003 19:45:41
Hans T
Hallo Hajo

Danke für deine blitzschnelle Antwort.

Leider hat der Button keine Ereignisprozedur im Code-Modul der Tabelle, da es sich nicht um einen ActiveX-Button handelt. Er ist ein Element der Shapes-Auflistung.

Ich habe aber soeben den guten alten Makrorekorder in Bewegung gesetzt und bin auf einer heissen Spur. Details später ...

Gruss
Hans T.
Anzeige
AW: Buttons per VBA beschriften
31.08.2003 19:47:07
Peter K.
Hallo Hajo
Das gleiche suche ich schon den ganzen Nachmittag aber für Rechteck
Hast du auch etwas für mich?

Danke in Voraus
Gruß Peter
AW: Buttons per VBA beschriften
31.08.2003 19:53:41
Hajo_Zi
Hallo Peter

ich bin nicht der Fachmann für Objekte in der Tabelle.
Einige Beispiele habe ich mir schon abgelegt für die Steuerelemente Toolbox. Die ich bei Bedarf poste.
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.

Microsoft MVP für Excel

Das Forum lebt auch von den Rückmeldungen.
Anzeige
AW: Buttons per VBA beschriften
31.08.2003 19:48:59
HerbertH
Hallo Hajo,
Er mein ja den Button von "Formularleiste"...
das geht offensichtlich ausnahmsweise nur mit "Select"...


Sub x()
ActiveSheet.Shapes("Button 1").Select
Selection.Characters.Text = [A1]
[A1].Select
End Sub


Gruß Herbert
Anzeige
Ohne Select geht nix
31.08.2003 19:56:08
Hans T.
Hallo Herbert

Das geht tatsächlich nur mit Select. Sonst ist der Button nicht ansprechbar. Hauptsache das Problem ist gelöst.

Danke für den Hinweis.

Gruss
Hans T.
Auch ohne Select gehts...
31.08.2003 21:23:02
K.Rola
Hallo,

schau dir mal Textframe.Characters.Text an.
Allerdings darf das Blatt auch hierbei nicht geschützt sein.

Gruß K.Rola
Anzeige
AW: Auch ohne Select gehts...
01.09.2003 18:19:28
HerbertH
Hallo K.Rola,
Danke für den Hinweis,mir ist das ohnehin sehr seltsam
vorgekommen...daß man hier "Select" verwenden muß.
Gruß Herbert
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Buttons in Excel mit VBA Beschriften


Schritt-für-Schritt-Anleitung

Um den Text von Buttons (Excel-Schaltflächen) in Excel über VBA zu ändern, kannst du die folgende Methode verwenden:

  1. Öffne die Excel-Datei, die die Schaltflächen enthält.

  2. Drücke Alt + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject" > Einfügen > Modul.

  4. Kopiere und füge den folgenden Code in das Modul ein:

    Sub ButtonTextÄndern()
       ActiveSheet.Shapes("Button 1").Select
       Selection.Characters.Text = "Neuer Text"
    End Sub
  5. Ersetze "Button 1" mit dem Namen deiner Schaltfläche.

  6. Führe das Makro aus, indem du F5 drückst oder das Makro über Excel startest.

Diese Methode funktioniert, indem du die Eigenschaft Characters.Text der Schaltfläche bearbeitest. Achte darauf, dass die Schaltfläche nicht durch eine ActiveX-Steuerelement ersetzt wird, da die hier gezeigte Methode nur für Formularsteuerelemente gilt.


Häufige Fehler und Lösungen

  • Fehler: „Laufzeitfehler 1004: Anwendung oder Objekt definiert Fehler.“

    • Lösung: Überprüfe den Namen der Schaltfläche. Stelle sicher, dass du den richtigen Namen verwendest.
  • Fehler: „Das Blatt ist geschützt.“

    • Lösung: Stelle sicher, dass das Blatt nicht geschützt ist, bevor du den Button-Text änderst.
  • Fehler: „Schaltfläche nicht auswählbar.“

    • Lösung: Stelle sicher, dass die Schaltfläche Teil der Shapes-Auflistung ist und nicht durch ein ActiveX-Steuerelement ersetzt wurde.

Alternative Methoden

Falls du den Button-Text ohne Select ändern möchtest, gibt es eine andere Methode, die du verwenden kannst:

Sub ButtonOhneSelectÄndern()
    With ActiveSheet.Shapes("Button 1").TextFrame
        .Characters.Text = "Neuer Text"
    End With
End Sub

Diese Methode ist effektiver, da sie keine Auswahl benötigt, und ist besonders nützlich, wenn du mehrere Buttons gleichzeitig bearbeiten möchtest.


Praktische Beispiele

Hier sind einige Beispiele, wie du den Text von Schaltflächen in einer Excel-Tabelle ändern kannst:

  1. Wechseln des Button-Texts basierend auf einer Zelle:

    Sub ButtonTextVonZelleÄndern()
       ActiveSheet.Shapes("Button 1").TextFrame.Characters.Text = Range("A1").Value
    End Sub
  2. Mehrere Buttons gleichzeitig ändern:

    Sub AlleButtonsÄndern()
       Dim btn As Shape
       For Each btn In ActiveSheet.Shapes
           If btn.Type = msoFormControl Then
               btn.TextFrame.Characters.Text = "Neuer Button Text"
           End If
       Next btn
    End Sub

Tipps für Profis

  • Nutze die vba activesheet.buttons-Sammlung, um alle Buttons auf dem aktiven Blatt zu verwalten.
  • Überlege, wie du vba button name verwenden kannst, um Buttons dynamisch zu benennen und zu verwalten.
  • Verwende die Excel Bildunterschrift, um visuelle Hinweise zu geben, was jeder Button macht, wenn du mehrere Buttons hast.

FAQ: Häufige Fragen

1. Kann ich den Text eines Buttons während der Laufzeit ändern?
Ja, du kannst den Text eines Buttons jederzeit während der Ausführung eines VBA-Makros ändern.

2. Warum funktioniert mein Code nicht für ActiveX-Steuerelemente?
ActiveX-Steuerelemente verwenden andere Eigenschaften, um den Text zu ändern. Du kannst die Caption-Eigenschaft verwenden, um den Text zu ändern.

3. Wie finde ich den Namen einer Schaltfläche?
Du kannst den Namen einer Schaltfläche im Excel-Entwicklertools-Bereich unter "Entwicklertools" > "Einfügen" > "Formularsteuerelemente" überprüfen.

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