Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Schaltfäche in Tabelle beschriften

30 views
Skip to first unread message

Klaus Heinrich

unread,
Jan 17, 2006, 1:28:36 PM1/17/06
to
Hallo in die Runde

ich möchte eine Schaltfläche in einer Tabelle per VBA beschriften.

Wenn ich über die Symbolleiste "Formular" eine Schaltfläche einfüge,
dann hat sie z.B. die Bezeichnung "Schlatfläche 20"

Ich habe folgenden Code gefunden:

Sheets("Tabelle1").CommandButton1.Caption = "test"

Wie kann ich ihn auf die "Schaltfläche 20" anwenden ?

Danke im Voraus

Gruß Klaus

{Boris}

unread,
Jan 17, 2006, 3:17:02 PM1/17/06
to
Hi Klaus,

"Klaus Heinrich" schrieb:

> ich möchte eine Schaltfläche in einer Tabelle per VBA beschriften.
>
> Wenn ich über die Symbolleiste "Formular" eine Schaltfläche einfüge,
> dann hat sie z.B. die Bezeichnung "Schlatfläche 20"
>
> Ich habe folgenden Code gefunden:
>
> Sheets("Tabelle1").CommandButton1.Caption = "test"
>
> Wie kann ich ihn auf die "Schaltfläche 20" anwenden ?

Ein Schaltfläche aus der Formularleiste ist keine Commandbutton sondern
schlicht ein Button.

Option Explicit

Sub beschrifte_mich()
Dim btn As Button
Set btn = Me.Buttons(20)
btn.Caption = "Hallo"
End Sub

--
Grüße Boris
www.excelformeln.de

{Boris}

unread,
Jan 17, 2006, 3:20:01 PM1/17/06
to
Hi Klaus,

kleiner Nachtrag:
Das Schlüsselwort "Me" bezieht sich natürlich auf das Tabellenmodul, in dem
der Button sich befindet. Aus einem allgemeinen Modul heraus musst Du
natürlich nicht "Me" sondern den Blattnamen verwenden.

--
Grüße Boris

"{Boris}" schrieb:

Klaus Heinrich

unread,
Jan 17, 2006, 3:45:46 PM1/17/06
to
Hallo Boris

klingt vielversprechende, aber:

ich erhalte die Fehlermeldung:

Laufzeitfehler 1004:
Die Buttons-Eigenschaft des Worksheet-Objektes kann nicht zugeordnet
werden in der Zeile:

Set btn = Sheets("Kasse").Buttons(20)

auch

Set btn = ThisWorkbook.Sheets("Kasse").Buttons(20)

macht keinen Unterschied

Gruß Klaus

{Boris} schrieb:

{Boris}

unread,
Jan 18, 2006, 5:54:01 AM1/18/06
to
Hi Klaus,

"Klaus Heinrich" schrieb:

> klingt vielversprechende, aber:


>
> ich erhalte die Fehlermeldung:
>
> Laufzeitfehler 1004:
> Die Buttons-Eigenschaft des Worksheet-Objektes kann nicht zugeordnet
> werden in der Zeile:
>
> Set btn = Sheets("Kasse").Buttons(20)
>
> auch
>
> Set btn = ThisWorkbook.Sheets("Kasse").Buttons(20)
>
> macht keinen Unterschied

Nur weil Deine Schaltfläche den Namen "Schaltfläche 20" trägt, muss sie noch
längst nicht den Index 20 in der Buttons-Auflistung belegen. Wenn du z.B.
zwischendurch irgendwelche Buttons wieder gelöscht hast, dann rückt der Index
der "Schaltfläche 20" entsprechend nach vorne. Der Name "Schaltfläche 20"
bleibt hingegen bestehen.

Es gibt jetzt 2 Möglichkeiten:

1)
Den Index der Schaltfläche herausfinden, indem du die Schaltfläche markierst
und diesen Code ausführst:

Sub index_herausfinden()
MsgBox Sheets("Kasse").Buttons(Selection.Name).Index
End Sub

Danach - wie von Dir angewendet - den Button über den ermittelten Index
ansprechen.

2)
Die Schaltfläche nicht über den Index, sondern via Namen ansprechen. Dabei
lautet der Name innerhalb der Buttons-Auflistung nicht "Schaltfläche XX"
sondern "Button XX".
Die Ansprache erfolgt dann so:

Sub ueber_Namen_ansprechen()
MsgBox Sheets("Kasse").Buttons("Button 20").Caption

Klaus Heinrich

unread,
Jan 18, 2006, 12:18:48 PM1/18/06
to
Hallo Boris

ich habe den Button über den Namen angesprochen und es funktioniert!

Besten Dank und Gruß

Klaus

{Boris} schrieb:

0 new messages