Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1796to1800
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Zustand eines Toggle-Buttons ändern
02.12.2020 23:39:40
Mike_Ehlert
Hallo,
Ich Habe mehrere Toggle-Buttons angelkegt, mit denen ich unterschiedliche Spalten Ein-Und Ausblenden kann... Die Buttons rufen dann die Entsprechenden Makros in Modul1 auf
Funktioniert soweit top...
Mein kleines Problem:
Ich möchte eine Schaltfläche haben, die auch alle Spalten wieder einblendet und dabei gleichzeitig die anderen Toggle-Buttons wieder zurücksetzt in "nicht geklickt".
Mit "Alles_Einblenden" (liegt im Modul1) funktioniert... nur für das Zurücksetzen der Toggle-Buttons finde ich keine Lösung...
Gibt es da eine Möglichkeit?
Hier mal mein Aufbau:
Die Button-SUB funbktioniert soweit (nur eine dargestellt als Beispiel):

Private Sub Grundpreise_Allein_Click()
Dim TB As ToggleButton
If Grundpreise_Allein = True Then
Grundpreise_Allein.Caption = "Rest einblenden"
Call Nur_Grundpreise
Else
Grundpreise_Allein.Caption = "Nur Grundpreise"
Call Nur_Grundpreise_zurück
End If
End Sub

Das soll der Button werden, der alle Spalten wieder einblendet und gleichzeitig die Toggle-Buttons zurücksetzen soll:

Private Sub Alle_Spalten_Einblenden_Click()
Call Grundpreise_Allein_Click(False)    

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zustand eines Toggle-Buttons ändern
03.12.2020 00:58:41
Tobias
Hallo Mike,
deine ToggleButtons kannst du über die OLEObjects Collection deines Worksheets ansprechen.
Debug.Print ActiveSheet.OleObjects("ToggleButton1").Object.Value

zeigt dir zum Beispiel den aktuellen Zustand in dem Direktbereich. Genauso kannst du diesen dann auch ändern indem du den Wert neu zuweist. Über alle Buttons kannst du dann auch mit einer For Each Schleife iterieren. Dann halte ich es so das ich meine Controls direkt nach ihrem Typ benenne(zb cb_Test12 für die Checkboxen oder btn_Drücker für Buttons). Dann kann man über den Namen recht schnell den Typ ermitteln und die Wertänderung vornehmen.
For Each x in ActiveSheet.OleObjects
If Left(x.Name,2) = "tb" Then
x.Object.Value = False
End if
Next 
Ob es einen besseren Weg gibt den Typ des OleObjects zu ermitteln, weiss ich nicht.
Darüber solltest du aber auf jedenfall dein Problem angehen können.
Schöne Grüße
Tobias
Anzeige
AW: Zustand eines Toggle-Buttons ändern
03.12.2020 19:45:30
Mike_Ehlert
Hallo Thomas,
vielen Dank...
Ich komme zwar mit der Variablen x nicht klar (hat mich der Debugger "angemeckert")
Muss vermutlich irgendwo deklariert werden (wo und wie?)
Auch nicht so wirklich mit der "For-Next"-Schleife
Jedoch hat mir Deine Antwort trotzdem weiter geholfen. Habe das jetzt so gelöst:

Private Sub Alle_Spalten_Einblenden_Click()
Call Alles_Einblenden
TB_Pächterwechsel.Object.Value = False
WU_Wechsel.Object.Value = False
Grundpreise.Object.Value = False
Grundpreise_Allein.Object.Value = False
End Sub

Auswertung des Zustandes ist für mich hier nicht wirklich relevant, das eh alle Knöppe wieder ausgeschaltet werden sollen, weil ich ja alle Spalten wieder einblende.
Insofern funktioniert das in dieser Form für mich.
Ich bin in VBA noch absoluter Anfänger, jedoch auch nicht mehr der Jüngste, dass ich mich da so intensiv reinhängen kann.
Anzeige
AW: Zustand eines Toggle-Buttons ändern
03.12.2020 20:39:35
Tobias
Hallo Mike,
bei den vier Buttons ist das so definitiv ausreichend, die Variante mit for each wäre bei mehreren dann ganz praktisch. Das x hätte noch ordentlich definiert werden müssen mit
Dim x as Object
Freut mich das ich helfen konnte
Schöne Grüße
Tobias
AW: Zustand eines Toggle-Buttons ändern
03.12.2020 21:36:06
Mike_Ehlert
Hallo Tobias (sorry, vorhin kam ich mit dem Namen durcheinander),
Vielen Dank, werde ich mal in einer ruhigen Minute trotzdem mal testen - erhöht den Lerneffekt.
Für bis jetzt auf alle Fälle erst mal Ziel erreicht.
Die Tabelle dient für mich im Kleingartenverein für Abrechnungszwecke - jedoch im Eingabe-Arbeitsblatt an Spalten im Laufe der Jahre gewachsen.
Das macht die Sache bei der reinen Abrechnung unübersichtlich.
Also was ich für die Abrechnung brauch...
Beim Daten einpflegen benötigt man jedoch andere Spalten.
Und da dann noch Unterschiede, ob mit oder ohne Pächterwechsel.
Einige Bereiche überlappen sich.
Deshalb wollte ich das gezielt Aus-/Einblenden.
Die Standart-Funktionen von Excel ermöglichen das nicht, also musste ich mich zwangsweise mit VBA auseinandersetzen.
In der Tat, für die vier anderen Buttons ist die "vereinfachte Variante" auch ausrechend - vom Code auch nicht umfangreicher.
Wenn es mehr "Knöppe sind, ergibt die Schleife schon Sinn.
Ich wünsche schöne Feiertage und nochmals vielen Dank.
Anzeige
AW: Zustand eines Toggle-Buttons ändern
08.12.2020 21:48:28
onur
Und warum noch "offen" ?
AW: Zustand eines Toggle-Buttons ändern
09.12.2020 06:35:57
Mike_Ehlert
Guten Morgen @onur,
der Aufbau dieses Forums ist für mich etwas ungewohnt.
Einen Gelöst-Button habe ich noch nicht gefunden.
Viele Grüße
AW: Zustand eines Toggle-Buttons ändern
09.12.2020 10:45:59
onur
Es gibt nur ein "Nicht-Gelöst-Button". :)
AW: Zustand eines Toggle-Buttons ändern
09.12.2020 16:56:53
Mike_Ehlert
@onur
Ups?
Also wenn ich den geklickt haben sollte, dann sicher nicht wegen "nicht Gelöst"...
Aber kann mich nicht erinnern, überhaupt einen Button geklickt zu haben... *hhhmmmm...*
Kann das jemand für mich korrigieren?
Viele Grüße Mike
AW: Zustand eines Toggle-Buttons ändern
09.12.2020 17:35:39
onur
"Kann das jemand für mich korrigieren?" - braucht man nicht - wenn du nix anklickst, ist auch nix "offen".
Userbild
Anzeige
AW: Zustand eines Toggle-Buttons ändern
09.12.2020 18:17:33
Mike_Ehlert
@onur
ALLES KLAR - jetzt habe ich meinen Fehler erkannt... *schäm*
Tchja - wer lesen kann, ist klar im Vorteil ;)
AW: Zustand eines Toggle-Buttons ändern
09.12.2020 18:40:45
onur
Nix passiert !

51 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige