Clever-Excel-Forum

Normale Version: Button dynamisch beschriften.
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Moin, folgendes Problem. In tab1 stehen in der spalte a mehrere bezeichnnungen wie zb. Cola, bier, chips, limo usw.die dann gleich die namen der button in tabelle 2-32 sind. Die Buttons sind von der funktion her gleich. Buttons erhöhen bei klick einen wert um 1. Jetzt würde ich gerne, wenn sich in Tabellen 1 limo in sprudel ändert, sol dann nach klick der name limo inn sprudel in allen Tabellen ändern. Wenn es möglich wäre dass, wenn in tabelle 1 eine zelle leer ist, dann der jeweilige button keine aktion ausführt. Wäre super wen mir da jemand helfen könnte.
Ich weis ist viel, im vorraus schon mal Danke.
Hallo,

lade die Datei mit 2-3 Blättern und mit deinem bereits vorhandenen Code hier hoch.

Gruß Werner
Hallo Jürgen,

das ist ein völlig falscher Ansatz. Gleichartige Daten gehören auf ein Tabellenblatt. Wozu es gut sein soll, Mengen per Klick einer Schaltfläche zu erhöhen, erschließt sich für mich nicht. Frage dazu: was machst du wenn du auf eine falsche Schaltfläche geklickt hast? Minusschaltflächen?
Was die button machen oder nicht ist egal, es geht nur um die dynamische beschriftung der Button. Das heist wenn sich in tabelle 1 in der zelle a1 der namme ändert, sollen die Buttons in den tabellen 2-32 der name ändern.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$1" Then
        Me.CommandButton1.Caption = Target.Value
    End If
End Sub


So ungefähr, halt nur in allen tabelle. Es gibt dann halt button 1-30 mit unterschiedlichen texten.
Gruss
Hallo Jürgen,

offenbar hast du meinen Hinweis nicht verstanden. Wenn du deine Daten auf einem Tabellenblatt unterbringst, brauchst du nicht 32 Schaltflächen umbenennen. Im übrigen solltest du etwas mehr über deine Datei verraten, wenn du auf Hilfe hoffst. Welche Art Schaltflächen hast du verwendet, Formularsteuerelemente oder ActiveX? Am besten zeigst du mal eine Beispieldatei.
Hallo,
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim i As Long
    If Target.Address = "$A$1" Then
      If Len(Target.Value) Then
        For i = 1 To 32
          Worksheets(i).CommandButton1.Caption = Target.Value
        Next i
      End If
    End If
End Sub
Gruß Uwe
Nabend, hier mal meine Datei, in der Tabelle Preisliste hab ich beschrieben wie ich mir das vorstelle.
Gruß
Moin,  Uwe vielen Dank für deine schnelle Antwort, ich denk das ist nicht so wie ich es gerne hätte.
Gruss Jürgen
Hallo,

scheint wohl niemand da ran zu wollen.

Was mich jetzt ehrlich gesagt auch nicht wirklich wundert. Deine hochgeladene Datei wirkt dann doch etwas "hingeschludert".

Warum?
-zig leere Module. Das ist ein wildes geklicke, bis man irgendwann mal da ist, wo man hin will
-quasi fast für jede Prozedur ein eigenes Modul, völlig unübersichtlich
-auf den Blättern 1- .... sind die ganzen Button wild durcheinander nummeriert. Das macht es fast unmöglich die im Code entsprechend anzusteuern.
-im Blatt Preisliste hast du 32 "Artikel", auf den "Tagesblättern" aber nur 30 Schaltflächen - das passt so nicht zusammen

Bitte erst mal folgendes erledigen:

1. alle "Tagesblätter" bis auf Blatt mit dem Namen 1 löschen
2. die ganzen leeren Module löschen
3. würde ich dir empfehlen die Module umzubenennen und dort dann "zusammengehörende" Prozeduren rein zu kopieren. Z.B. ein Modul Druck und dort alle Prozeduren rein, die einen Ausdruck bewirken. So findest du dich selbst auch besser zurecht.
4. die ganzen Button auf Blatt 1 fortlaufend benennen. Erste Buttonreihe (die mit den "Artikeln" drauf) von oben nach unten Schaltfläche1 bis Schaltfläche10, nächste Schaltfläche11 bis Schaltfläche20 .....
5. die ganzen Button auf Blatt 1 (die für den "Abzug") ebenfalls von links nach rechts und oben nach unten fortlaufend benennen. Schaltfläche31 bis Schaltfläche40, nächste Schaltfläche41 bis Schaltfläche50 ....

Dazu habe ich ehrlich gesagt keine Lust.

Dann die Datei noch mal hochladen. Dann schreib ich dir einen Code dazu.

Gruß Werner
Hallo,

von mir die Frage: wozu braucht man 32 identische Tabellenblätter?
Seiten: 1 2