Tach Community,
folgende Problematik:
Ich versuche in Excel VBA ButtonTexte (captions) zu aendern.
der button mit namen " CommandButton1" existiert.
Worksheets("tab1"). **CommandButton1**.caption = "neuer Button text"
das funktioniert praechtig.
Leider hole ich die Namen der Buttons auf dem Worksheet dynamisch und
packe sie in einen array. Und dann funktioniert obige zeile mit folgendem Programmcode nicht mehr. Wer kennt Abhilfe?
For Each **Button** In ButtonArr
Worksheets("tab1"). **Button**.caption = "neuer Button"
Next
GGf. stimmt der Typ der Variable nicht. Ich habe aber keine Ahnung
wie ich entsprechend wandeln kann.
weil das folgende funktioniert auch nicht:
Dim ButtonName As String
ButtonName = "CommandButton1"
Worksheets("tab1"). **ButtonName**.caption = "neuer Button"
danke fuer die Hilfe
gruss
PixelKoenig
Hallo PK,
die Aufschriften auf den Buttons sollen alle gleich sein?
Wo sind die CommandButtons, in einer Useerform oder auf einem Tabellenblatt?
Gruß
Reinhard
hi,
nein… der text ist natuerlich auch dynamisch.
aber das ist nicht mein Problem.
die buttons befinden sich auf einem Tabellenblatt.
gruss
PixelKoenig
Hallo PixelKönig,
ausgehend davon, dass Dein Array wirklich die Buttons enthält, sollte das funktionieren:
For Each **oneButton** In ButtonArr
**oneButton**.Caption = "neuer Button"
Next
Grüße
PerryRhodan
Hallo PK,
nein… der text ist natuerlich auch dynamisch.
„natürlich“? Weder habe ich eine Glaskugel noch kann ich sie bedienen
aber das ist nicht mein Problem.
Aha, sorry Sir, hab da wohl deine umfangreichen Informationen falsch gedeutet, verzeih meine Nachfrage.
die buttons befinden sich auf einem Tabellenblatt.
endlich mal was Brauchbares.
Sub tt()
Dim CB, Anz
For Each CB In ActiveSheet.OLEObjects
If CB.Name Like "Command\*" Then
Anz = Anz + 1
CB.Object.Caption = "CB" & Anz
End If
Next CB
End Sub
Gruß
Reinhard