Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1468to1472
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
Inhaltsverzeichnis

Toggle Butto Status abfrage

Toggle Butto Status abfrage
12.01.2016 09:59:29
Rookie
Hallo liebe VBA-Profies,
ich habe folgendes Problem und ich hoffe ihr könnt mir weiterhelfen:
In meiner Excel-Tabelle habe ich eine Schalfläche integriert über die eine UserForm aufgerufen wird. In dieser UserForm stehen mehrere Toggle-Buttons zum ein- und ausblenden von verschiedenen Spalten zur Verfügung. Das ein- bzw. ausblenden habe ich wie folgt programmiert:
Private Sub cmdSchließen_Click()
Unload frmSchaltflächenM
End Sub
Sub SpaltenAusblenden5()
Sheets("Montage").Activate
Columns("H").EntireColumn.Hidden = True
End Sub Sub SpaltenEinblenden5()
Sheets("Montage").Activate
Columns("H").EntireColumn.Hidden = False
End Sub
Private Sub ToggleButton5_Click()
Dim TB As ToggleButton
Set TB = ToggleButton5
If TB.Value = False Then
TB.Caption = "Projektleiter ein"
Call SpaltenAusblenden5
Else
TB.Caption = "Projektleiter aus"
Call SpaltenEinblenden5
End If
End Sub
Das Ein- und Ausblenden der Spalten funktioniert, mein Problem ist aber folgendes:
Ich rufe über die Schaltfläche die UserForm mit den Toggle-Buttons auf, dann blende ich die Spalten welche ich nicht sehen möchte aus und schließe die UserForm.
So....
Wenn ich die Userform erneut aufrufe, sind alle Toggel-Buttons in Ausgangsstellung (also nicht gedrückt).
Meine Frage ist also:
Ist es Möglich, wenn ich die Userform erneut aufrufe, dass automatisch erkannt wird welche Spalten bereits ein- bzw. ausgeblendet sind und der jeweilege Toggle-Button automatisch dementsprechend geschaltet ist?
z.B.:
1. Spalte H ist ausgeblendet
2. Ich öffne die UserForm
3. Toggle-Button ist aktiviert.
Es wäre auch Toll, wenn nach dem Speichern und wieder Öffnen der Datei erkannt wird, welche Spalten ein- bzw. ausgeblendet sind und je nach dem die Toggle-Buttons in der UserForm geschalten sind.
Für Tipps, Tricks und Beispiele aber auch für andere Vorgehensweisen zu diesem Thema wäre ich sehr dankbar!
Vielen herzlichen Dank im voraus,
Mit besten Grüßen
Stefan

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Beispieldatei! o.T.
12.01.2016 10:11:37
Sepp
Gruß Sepp

AW: Beispieldatei! o.T.
12.01.2016 10:22:48
Rookie
Hallo Sepp,
danke für die schnelle Antwort, leider kann ich außer dem Kästchen "Gruß Sepp" nichts sehen.
Gruß
Stefan

AW: Beispieldatei! o.T.
12.01.2016 10:35:00
Sepp
Hallo Stefan,
im Betreff steht doch 'Beispieldatei!'
Gruß Sepp

AW: Beispieldatei! o.T.
12.01.2016 10:57:00
Rookie
Oh Sorry,
https://www.herber.de/bbs/user/102736.xlsm
anbei die Datei. Unter der Tabelle "Montage" - Schaltfläche "Anzeige wählen".

Anzeige
AW: Beispieldatei! o.T.
12.01.2016 11:16:59
Daniel
Hi
du kannst die Togglebuttons mit einer Ausgabezelle verknüpfen.
dann wird der Togglebuttonwert in diese Zelle geschreiben und beim Öffnen der Userform nimmt der Togglebutton diesen Wert an.
Der Zellwert wird natürlich wie alle anderen Zellwerte mit gespeichert
dafür legst du dir am besten ein neues Tabellenblatt an (z.B. mit dem Namen Userform_Steuerung)
und schreibst dann die Zelladresse mit Tabellenblattname in die Eigenschaft ControlSource:
ControlSource: 'Userform_Steuerung'!A1
Gruss Daniel

AW: Beispieldatei! o.T.
12.01.2016 11:24:15
Sepp
Hallo Stefan,
Code ohne 'Option Explicit' wird von mir normalerweise ignoriert!
In das Modul des UF.
' **********************************************************************
' Modul: frmSchaltflächenM Typ: Userform
' **********************************************************************


Private Sub cmdSchließen_Click()

Unload frmSchaltflächenM

End Sub

Private Sub CommandButton1_Click()

Dim i As Long, n As Long
n = 1
With Sheets("Montage")
  For i = 5 To .Cells(Rows.Count, "A").End(xlUp).Row
    If .Cells(i, "A") <> "" Then
      .Cells(i, "A") = n
      n = n + 1
    End If
  Next
End With

End Sub

Private Sub ToggleButton5_Click()
With ToggleButton5
  .Caption = IIf(.Value, "Projektleiter aus", "Projektleiter ein")
  Call SpaltenAusEin(8, .Value)
End With
End Sub

Private Sub ToggleButton6_Click()
With ToggleButton6
  .Caption = IIf(.Value, "Meister aus", "Meister ein")
  Call SpaltenAusEin(9, .Value)
End With
End Sub

Private Sub ToggleButton7_Click()
With ToggleButton7
  .Caption = IIf(.Value, "Planstart aus", "Planstart ein")
  Call SpaltenAusEin(10, .Value)
End With
End Sub


Private Sub ToggleButton8_Click()
With ToggleButton8
  .Caption = IIf(.Value, "Planende aus", "Planende ein")
  Call SpaltenAusEin(11, .Value)
End With
End Sub

Private Sub ToggleButton9_Click()
With ToggleButton9
  .Caption = IIf(.Value, "Anmerkung aus", "Anmerkung ein")
  Call SpaltenAusEin(12, .Value)
End With
End Sub

Private Sub ToggleButton10_Click()
With ToggleButton10
  .Caption = IIf(.Value, "Fortschritt aus", "Fortschritt ein")
  Call SpaltenAusEin(15, .Value)
End With
End Sub

Private Sub ToggleButton11_Click()
With ToggleButton11
  .Caption = IIf(.Value, "Reviewtermin aus", "Reviewtermin ein")
  Call SpaltenAusEin(16, .Value)
End With
End Sub

Private Sub ToggleButton12_Click()
With ToggleButton12
  .Caption = IIf(.Value, "Stand aus", "Stand ein")
  Call SpaltenAusEin(17, .Value)
End With
End Sub

Private Sub ToggleButton13_Click()
With ToggleButton13
  .Caption = IIf(.Value, "Durchführbarkeit aus", "Durchführbarkeit ein")
  Call SpaltenAusEin(18, .Value)
End With
End Sub

Private Sub ToggleButton14_Click()
With ToggleButton14
  .Caption = IIf(.Value, "Status aus", "Status ein")
  Call SpaltenAusEin(19, .Value)
End With
End Sub

Private Sub ToggleButton15_Click()
With ToggleButton15
  .Caption = IIf(.Value, "Fortschritt Versch. aus", "Fortschritt Versch. ein")
  Call SpaltenAusEin(20, .Value)
End With
End Sub

Private Sub ToggleButton16_Click()
With ToggleButton16
  .Caption = IIf(.Value, "Ist-Start aus", "Ist-Start ein")
  Call SpaltenAusEin(21, .Value)
End With
End Sub

Private Sub ToggleButton17_Click()
With ToggleButton17
  .Caption = IIf(.Value, "Ist-Ende aus", "Ist-Ende ein")
  Call SpaltenAusEin(22, .Value)
End With
End Sub

Sub SpaltenAusEin(ByVal Spalte As Long, ByVal Hide As Boolean)
Sheets("Montage").Columns(Spalte).EntireColumn.Hidden = Hide
End Sub

Private Sub UserForm_Activate()
With ToggleButton5
  .Value = Sheets("Montage").Columns(8).EntireColumn.Hidden
  .Caption = IIf(.Value, "Projektleiter aus", "Projektleiter ein")
End With

With ToggleButton6
  .Value = Sheets("Montage").Columns(9).EntireColumn.Hidden
  .Caption = IIf(.Value, "Meister aus", "Meister ein")
End With

With ToggleButton7
  .Value = Sheets("Montage").Columns(10).EntireColumn.Hidden
  .Caption = IIf(.Value, "Planstart aus", "Planstart ein")
End With

With ToggleButton8
  .Value = Sheets("Montage").Columns(11).EntireColumn.Hidden
  .Caption = IIf(.Value, "Planende aus", "Planende ein")
End With

With ToggleButton9
  .Value = Sheets("Montage").Columns(12).EntireColumn.Hidden
  .Caption = IIf(.Value, "Anmerkung aus", "Anmerkung ein")
End With

With ToggleButton10
  .Value = Sheets("Montage").Columns(15).EntireColumn.Hidden
  .Caption = IIf(.Value, "Fortschritt aus", "Fortschritt ein")
End With

With ToggleButton11
  .Value = Sheets("Montage").Columns(16).EntireColumn.Hidden
  .Caption = IIf(.Value, "Reviewtermin aus", "Reviewtermin ein")
End With

With ToggleButton12
  .Value = Sheets("Montage").Columns(17).EntireColumn.Hidden
  .Caption = IIf(.Value, "Stand aus", "Stand ein")
End With

With ToggleButton13
  .Value = Sheets("Montage").Columns(18).EntireColumn.Hidden
  .Caption = IIf(.Value, "Durchführbarkeit aus", "Durchführbarkeit ein")
End With

With ToggleButton14
  .Value = Sheets("Montage").Columns(19).EntireColumn.Hidden
  .Caption = IIf(.Value, "Status aus", "Status ein")
End With

With ToggleButton15
  .Value = Sheets("Montage").Columns(20).EntireColumn.Hidden
  .Caption = IIf(.Value, "Fortschritt Versch. aus", "Fortschritt Versch. ein")
End With

With ToggleButton16
  .Value = Sheets("Montage").Columns(21).EntireColumn.Hidden
  .Caption = IIf(.Value, "Ist-Start aus", "Ist-Start ein")
End With

With ToggleButton17
  .Value = Sheets("Montage").Columns(22).EntireColumn.Hidden
  .Caption = IIf(.Value, "Ist-Ende aus", "Ist-Ende ein")
End With

End Sub

Gruß Sepp

Anzeige
AW: Beispieldatei! o.T.
12.01.2016 12:12:27
Rookie
Hallo Sepp,
vielen herzlichen Dank!! Funktioniert perfekt und "Option Explicit" ist jetzt auch wieder drin.
Gruß
Stefan

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige