Registriert seit: 25.11.2018
Version(en): 2016 Plus
Hallo an alle, Habe den beigefügten Code für mein Toggle Button gebastelt. Möchte aber das der ToggleButton statt zwei zuständen, drei zustände hat. Habe im ToggleButton bei den Eigenschaften den Triple State auf True gesetzt, doch habe keine Ahnung wie ich denn dritten zustand in meinen Code einbinden kann. Habe es hin und her mit herum kopieren versucht, doch ohne Erfolg, hier wird ein Profi gebraucht…der sicher nicht ich ist Vorhandener Code: Code: Private Sub ToggleButton1_Click() ActiveWorkbook.ActiveSheet.Unprotect ("123") Sheets("Menu").Columns("I:M").EntireColumn.Hidden = Not ToggleButton1 ActiveSheet.Range("E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23").Cells.Locked = True ActiveSheet.Range("J4, J5, J6, J7, J8, J9, J10, J11, J12, J13, J14, J15, J16, J17, J18, J19, J20, J21, J22, J23, K4, K5, K6, K7, K8, K9, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23").Cells.Locked = True If ToggleButton1.Caption = "Big Picture" Then ActiveSheet.Shapes("Textfeld 18").Visible = False ActiveSheet.Shapes("Grafik 25").Visible = False ToggleButton1.Caption = "Small Picture" Else ActiveSheet.Shapes("Textfeld 18").Visible = True ActiveSheet.Shapes("Grafik 25").Visible = True ActiveSheet.Range("E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23").Cells.Locked = False ActiveSheet.Range("J4, J5, J6, J7, J8, J9, J10, J11, J12, J13, J14, J15, J16, J17, J18, J19, J20, J21, J22, J23, K4, K5, K6, K7, K8, K9, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23").Cells.Locked = False ToggleButton1.Caption = "Small Picture" End If ActiveWorkbook.ActiveSheet.Protect ("1234") End Sub
Dritter Zustand: Code: Sheets("Menu").Columns("I:M").EntireColumn.Hidden = Not ToggleButton1 ActiveSheet.Shapes("Textfeld 18").Visible = True ActiveSheet.Shapes("Grafik 25").Visible = True ActiveSheet.Range("E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23").Cells.Locked = False ActiveSheet.Range("J4, J5, J6, J7, J8, J9, J10, J11, J12, J13, J14, J15, J16, J17, J18, J19, J20, J21, J22, J23, K4, K5, K6, K7, K8, K9, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23").Cells.Locked = True ToggleButton1.Caption = "Middle Picture" End If
Thx in Advance :-)
Niko
Registriert seit: 25.04.2016
Version(en): 2013
Nimm das Change Event Code: Private Sub ToggleButton1_Change()
If IsNull(ToggleButton1.Value) Then ToggleButton1.Caption = "Value is Null" ElseIf ToggleButton1.Value = False Then ToggleButton1.Caption = "Value is False" ElseIf ToggleButton1.Value = True Then ToggleButton1.Caption = "Value is True" End If
End Sub
Folgende(r) 1 Nutzer sagt Danke an Storax für diesen Beitrag:1 Nutzer sagt Danke an Storax für diesen Beitrag 28
• Niko
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo Niko, ungetestet: Private Sub ToggleButton1_Change() ActiveWorkbook.ActiveSheet.Unprotect ("123") Sheets("Menu").Columns("I:M").EntireColumn.Hidden = Not ToggleButton1 ActiveSheet.Range("E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23").Cells.Locked = True ActiveSheet.Range("J4, J5, J6, J7, J8, J9, J10, J11, J12, J13, J14, J15, J16, J17, J18, J19, J20, J21, J22, J23, K4, K5, K6, K7, K8, K9, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23").Cells.Locked = True If IsNull(ToggleButton1.Value) Then Sheets("Menu").Columns("I:M").EntireColumn.Hidden = Not ToggleButton1 ActiveSheet.Shapes("Textfeld 18").Visible = True ActiveSheet.Shapes("Grafik 25").Visible = True ActiveSheet.Range("E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23").Cells.Locked = False ActiveSheet.Range("J4, J5, J6, J7, J8, J9, J10, J11, J12, J13, J14, J15, J16, J17, J18, J19, J20, J21, J22, J23, K4, K5, K6, K7, K8, K9, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23").Cells.Locked = True ToggleButton1.Caption = "Middle Picture" ElseIf ToggleButton1.Value = False Then ActiveSheet.Shapes("Textfeld 18").Visible = False ActiveSheet.Shapes("Grafik 25").Visible = False ToggleButton1.Caption = "Small Picture" ElseIf ToggleButton1.Value = True Then ActiveSheet.Shapes("Textfeld 18").Visible = True ActiveSheet.Shapes("Grafik 25").Visible = True ActiveSheet.Range("E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23").Cells.Locked = False ActiveSheet.Range("J4, J5, J6, J7, J8, J9, J10, J11, J12, J13, J14, J15, J16, J17, J18, J19, J20, J21, J22, J23, K4, K5, K6, K7, K8, K9, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23").Cells.Locked = False ToggleButton1.Caption = "Big Picture" End If ActiveWorkbook.ActiveSheet.Protect ("1234") End Sub Gruß Uwe
Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:1 Nutzer sagt Danke an Kuwer für diesen Beitrag 28
• Niko
Registriert seit: 29.09.2015
Version(en): 2030,5
02.02.2019, 21:56
(Dieser Beitrag wurde zuletzt bearbeitet: 02.02.2019, 21:57 von snb.)
Nie gesehen/gelernt ? PS. Verzichte auf 'Protection' In Excel
Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:1 Nutzer sagt Danke an snb für diesen Beitrag 28
• Niko
Registriert seit: 25.11.2018
Version(en): 2016 Plus
Hallo Uwe, vorabe Vielen Dank für deine Mühe Läuft fast perfekt ..bei middle Pcture sollten die spalten geschlossen bleiben doch dies tut er nicht. Sheets("Menu").Columns("I:M").EntireColumn.Hidden = Not ToggleButton1...müsste doch auch in Middle Picure eingefügt werden...oder? Danke, Niko
Registriert seit: 25.11.2018
Version(en): 2016 Plus
Hi Storax,
Danke für deine Antwort...doch ich komme damit nicht zu recht....soll nicht heissen das dein ansatz falsch ist doch ich griege es nicht in meine Code rein.
Danke, Niko
Registriert seit: 25.11.2018
Version(en): 2016 Plus
Hi snb, danke dir auch für diene Antwort....weiss hätte es kürzer haben können ..doch wie es so ist es fängt mit einer Zelle an und am ende hat man ganze reihen. Mein Problem ist aber mehr den Toggle Button zur vernuft zu bringen ...bzw. mich, mit eurer hilfe ein bischen schlauer zu machen...was nicht immer bei mir klappen kann ...hahaha. Thx, Niko
Registriert seit: 25.04.2016
Version(en): 2013
03.02.2019, 09:23
(Dieser Beitrag wurde zuletzt bearbeitet: 03.02.2019, 09:24 von Storax.)
(02.02.2019, 22:18)Niko schrieb: Hi Storax,
Danke für deine Antwort...doch ich komme damit nicht zu recht....soll nicht heissen das dein ansatz falsch ist doch ich griege es nicht in meine Code rein.
Danke, Niko Du erkennst aber die Struktur aus meiner Antwort in Kuwers Antwort wieder, oder? Code: =>> Private Sub ToggleButton1_Change() ActiveWorkbook.ActiveSheet.Unprotect ("123") Sheets("Menu").Columns("I:M").EntireColumn.Hidden = Not ToggleButton1 ActiveSheet.Range("E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23").Cells.Locked = True ActiveSheet.Range("J4, J5, J6, J7, J8, J9, J10, J11, J12, J13, J14, J15, J16, J17, J18, J19, J20, J21, J22, J23, K4, K5, K6, K7, K8, K9, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23").Cells.Locked = True =>> If IsNull(ToggleButton1.Value) Then Sheets("Menu").Columns("I:M").EntireColumn.Hidden = Not ToggleButton1 ActiveSheet.Shapes("Textfeld 18").Visible = True ActiveSheet.Shapes("Grafik 25").Visible = True ActiveSheet.Range("E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23").Cells.Locked = False ActiveSheet.Range("J4, J5, J6, J7, J8, J9, J10, J11, J12, J13, J14, J15, J16, J17, J18, J19, J20, J21, J22, J23, K4, K5, K6, K7, K8, K9, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23").Cells.Locked = True ToggleButton1.Caption = "Middle Picture" ==> ElseIf ToggleButton1.Value = False Then ActiveSheet.Shapes("Textfeld 18").Visible = False ActiveSheet.Shapes("Grafik 25").Visible = False ToggleButton1.Caption = "Small Picture" ==> ElseIf ToggleButton1.Value = True Then ActiveSheet.Shapes("Textfeld 18").Visible = True ActiveSheet.Shapes("Grafik 25").Visible = True ActiveSheet.Range("E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23").Cells.Locked = False ActiveSheet.Range("J4, J5, J6, J7, J8, J9, J10, J11, J12, J13, J14, J15, J16, J17, J18, J19, J20, J21, J22, J23, K4, K5, K6, K7, K8, K9, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23").Cells.Locked = False ToggleButton1.Caption = "Big Picture" ==> End If
Folgende(r) 1 Nutzer sagt Danke an Storax für diesen Beitrag:1 Nutzer sagt Danke an Storax für diesen Beitrag 28
• Niko
Registriert seit: 21.12.2017
Version(en): MS 365 Family (6 User x 5 Geräte für jeden) Insider-Beta
03.02.2019, 11:01
(Dieser Beitrag wurde zuletzt bearbeitet: 03.02.2019, 11:01 von LCohen.)
Private Sub ToggleButton1_Change(): ToggleButton1 = ToggleButton1 + 1: End Sub
und dann abfragen mit
Select Case ToggleButton1 Mod 3 Case 0: ... Case 1: ... Case 2: ... End Select
Folgende(r) 1 Nutzer sagt Danke an LCohen für diesen Beitrag:1 Nutzer sagt Danke an LCohen für diesen Beitrag 28
• Niko
Registriert seit: 25.11.2018
Version(en): 2016 Plus
Hallo an alle, nach langen hin und her kopieren habe ich den Code von Uwe eingebaut. Funktioniert soweit gut, bis auf die spalten. Die lassen sich nicht verstecken in zwei zuständen und in einen nicht. Wie Ihr gemerkt habt, mein VBA wissen lässt zu wünschen übrig…milde ausgedrückt Meine Frage aus dem ganzen…Wie kann ich in den angegebenen Code die Spalten I:M in zwei zuständen ausblenden und in einen Zustand nicht? Anbei der Code. Code: Private Sub ToggleButton1_Change() ActiveWorkbook.ActiveSheet.Unprotect ("1234") Sheets("Menu").Columns("I:M").EntireColumn.Hidden = Not ToggleButton1 ActiveSheet.Range("E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23").Cells.Locked = True ActiveSheet.Range("J4, J5, J6, J7, J8, J9, J10, J11, J12, J13, J14, J15, J16, J17, J18, J19, J20, J21, J22, J23, K4, K5, K6, K7, K8, K9, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23").Cells.Locked = True If IsNull(ToggleButton1.Value) Then Sheets("Menu").Columns("I:M").EntireColumn.Hidden = Not ToggleButton1 ActiveSheet.Shapes("Textfeld 18").Visible = False ActiveSheet.Shapes("Grafik 25").Visible = False ActiveSheet.Range("E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23").Cells.Locked = False ActiveSheet.Range("J4, J5, J6, J7, J8, J9, J10, J11, J12, J13, J14, J15, J16, J17, J18, J19, J20, J21, J22, J23, K4, K5, K6, K7, K8, K9, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23").Cells.Locked = True ToggleButton1.Caption = "Middle Picture" ElseIf ToggleButton1.Value = False Then ActiveSheet.Shapes("Textfeld 18").Visible = True ActiveSheet.Shapes("Grafik 25").Visible = True ToggleButton1.Caption = "Small Picture" ElseIf ToggleButton1.Value = True Then 'Sheets("Menu").Columns("I:M").EntireColumn.Hidden = Not ToggleButton1 ActiveSheet.Shapes("Textfeld 18").Visible = False ActiveSheet.Shapes("Grafik 25").Visible = False ActiveSheet.Range("E13, E14, E15, E16, E17, E18, E19, E20, E21, E22, E23, F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23").Cells.Locked = False ActiveSheet.Range("J4, J5, J6, J7, J8, J9, J10, J11, J12, J13, J14, J15, J16, J17, J18, J19, J20, J21, J22, J23, K4, K5, K6, K7, K8, K9, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K20, K21, K22, K23").Cells.Locked = False ToggleButton1.Caption = "Big Picture" End If ActiveWorkbook.ActiveSheet.Protect ("1234") End Sub
Großes Danke schön, an alle Ps: By the way...kann ich eine Datei in diesen forum hochladen?...um besser zu zeigen was ich meine. Niko
|