Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1792to1796
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

VBA Makro ToggleButton

VBA Makro ToggleButton
24.11.2020 11:18:41
Laura
Hi Community,
ich habe mir ein ToggleButton gebastelt und bräuchte jetzt ein passendes Makro dazu.
Mein Ziel ist es, dass sich beim Klick auf den ToggleButton der Zustand in ein und aus ändert.
Im Weiteren soll sich beim Klick auf den ToggleButton in einem anderen Arbeitsblatt bestimmte Zeilen ein und ausblenden.
Dies soll beim klicken auf den ToggleButton im Hintergrund passieren, sodass man nach den Klicken nicht auf der anderen Seite landet.
Hoffe auf zeitnahe Unterstützung eurerseits! :)
Eure Laura

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Makro ToggleButton
24.11.2020 11:25:11
Daniel
Hi
Togglebuttons muss man nicht "basteln", die gibt's schon in den ActiveX-Steuerelementen.
die Programmierung ist dann relativ einfach:
im Click-Event des ToggleButtons folgende Programmzeile (Addressen in der Range entsprechend den Spalten anpassen)
Sheets("DeinTabellenblatt").Range("A:A,C:D,E:E").EntireColumn.hidden = ToggleButton1.Value
bzw auch
Sheets("DeinTabellenblatt").Range("A:A,C:D,E:E").EntireColumn.hidden = Not ToggleButton1.Value
je nachdem welchen ToggleButtonzustand du mit ein- und aus verbindest
Anzeige
AW: VBA Makro ToggleButton
24.11.2020 11:28:04
Nepumuk
Hallo Laura,
so:
Option Explicit

Private Sub ToggleButton1_Click()
    Worksheets("Tabelle2").Rows("10:20").Hidden = ToggleButton1.Value
End Sub

Tabellennamen und Zeilennummern anpassen!
Gruß
Nepumuk
Anzeige
AW: VBA Makro ToggleButton
24.11.2020 14:17:42
Laura
Hi Leute,
ich bin nun soweit mit meinem Skript und wollte wissen ob sich Fehler eingeschlichen haben.
Ich hoffe auf Unterstützung. :)
Private Sub Toogle_Button()
If ToogleButton.Value = True Then
Sheets("Tabelle1").Range("1:5").EntireColumn.Hidden = False
ActiveSheet.Shapes.Range(Array("Oval 4")).Select
Selection.ShapesRange.IncrementLeft 50
ActiveSheet.Shapes.Range(Array("Rounded Rectangle 3")).Select
With Selection.ShapeRange.Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(146, 208, 80)
.Transparency = 0
.Solid
End With
Else
Sheets("Tabelle1").Range("1:5").EntireColumn.Hidden = True
ActiveSheet.Shapes.Range(Array("Oval 4")).Select
Selection.ShapeRange.IncrementLeft -50
ActiveSheet.Shapes.Range(Array("Rounded Rectangle 3")).Select
With Selection.ShapeRange.Fill
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorBackground1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = -0.15
.Transparency = 0
.Solid
End With
End If
End Sub

Anzeige
AW: VBA Makro ToggleButton
24.11.2020 14:24:13
Daniel
Hi
Das Skrip nützt nichts, ohne dass man weiß was passieren soll und was du Oberhaupt machst.
Beispieldatei wäre auch nicht schlecht.
Verwendest du überhaupt den ToggleButton aus den ActiveX-Steurelementen oder versucht du selber was zu basteln?
Gruß Daniel
AW: VBA Makro ToggleButton
24.11.2020 14:44:04
Laura
Du hast recht...tut mir leid Daniel!
Ich habe versucht mir ein ToggleButton zusammen zu basteln wie hier im YouTube Video.
https://www.youtube.com/watch?v=xqgOJkKSxMU&ab_channel=SOSCUBE
Ich wollte das Makro verändern, da es für mich etwas anderes machen soll.
Ich möchte diesen Button ins Tabellenblatt1 erstellen und dann das Tabellenblatt2 ansprechen.
In Tabellenblatt2 sollen dann die Zeilen 1-100 ausgeblendet werden wenn ich drauf klicke.
Sollte ich nochmals drauf klicken sollen die wieder eingeblendet werden.
Das alles soll im Hintergrund passieren, sodass ich auf Tabelle1 weiterhin bleibe.
Ich hoffe ihr seid mir nicht böse und könnt mir helfen :)
Anzeige
AW: VBA Makro ToggleButton
24.11.2020 15:17:56
Daniel
Hi
also wenn du von mir erwartest, dass ich mir jetzt den Inhalt eines Fremdsprachigen Videos anschaue, dann dann müssen wir auch mal über den mir zustehenden Stundensatz reden.
in Excel geht das was du vorhast, so:
1. füge auf dem Blatt, dass den ToggleButton haben soll, über das Menü
"Entwickertools - Steuerelemente - Einfügen - Steuerelemente" das Element "Umschaltfläche" ein.
2. wenn du das Element eingefügt hast und der Entwurfsmodus aktiv ist, klicke mit der rechten Maustaste drauf und im Kontextmenü "Code anzeigen".
3. Ergänze dann das automatisch erstellte Klick-Event-Makro des Buttons wiefolgt (Tabellenblattnamen ggf anpassen)
Private Sub ToggleButton1_Click()
Sheets("Tabelle2").Range("1:100").EntireRow.Hidden = ToggleButton1.Value
End Sub
thats all.
Gruß Daniel
Anzeige
AW: VBA Makro ToggleButton
24.11.2020 14:36:00
Nepumuk
Hallo Laura,
so läuft es bei mir:
Private Sub ToggleButton1_Click()
    
    If ToggleButton1.Value Then
        
        Worksheets("Tabelle1").Rows("1:5").Hidden = False
        
        Shapes("Oval 4").IncrementLeft 50
        
        With Shapes("Rounded Rectangle 3").Fill
            .Visible = msoTrue
            .ForeColor.RGB = RGB(146, 208, 80)
            .Transparency = 0
            .Solid
        End With
        
    Else
        
        Worksheets("Tabelle1").Rows("1:5").Hidden = True
        
        Shapes("Oval 4").IncrementLeft -50
        
        With Shapes("Rounded Rectangle 3").Fill
            .Visible = msoTrue
            .ForeColor.ObjectThemeColor = msoThemeColorBackground1
            .ForeColor.TintAndShade = 0
            .ForeColor.Brightness = -0.15
            .Transparency = 0
            .Solid
        End With
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: VBA Makro ToggleButton
24.11.2020 15:27:26
Laura
Hi Nepumuk,
erstmal danke ich dir sehr für deine Unterstüzung! :)
Ich habe aber noch ein kleines Problemchen.
Unszwar möchte ich soein coolen ToogleButton erstellen.
https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.pinterest.com%2Fpin%2F395964992211017379%2F&psig=AOvVaw1vUjHikiIVM5gX6u1bFmgB&ust=1606314073705000&source=images&cd=vfe&ved=0CAIQjRxqFwoTCIDKlrCwm-0CFQAAAAAdAAAAABAO
Wie man sowas erstellt bekomme ich aus einer Ellipse und einem Kreis hin.
Muss ich am Makro dann noch etwas verändern?
Gruß Laura
Anzeige
AW: VBA Makro ToggleButton
24.11.2020 15:46:26
Daniel
ok, das solltest du dazu sagen, dass du nicht einfach was haben willst, was funktioniert, sondern dass es auch cool aussehen soll.
ich würde das dann so machen:
1. erstelle von beiden Togglebutton-Zuständen eine eigene Grafik (gruppieren, oder kopieren und als Grafik einfügen
2. erstelle auch für beide Buttons ein eigenes Makro.
in diesen Makros blendest du dann nicht nur die Zeilen ein und aus, sondern setzt einfach nur die .Visible-Eigenschaft des anderen Buttons auf True und die die des eigenen Buttons auf False.
Das ist dann wesentlich einfacher, als im Code die Teilshapes hin- und her zu schieben und die Farben anzupassen.
Gruß Daniel
Anzeige
AW: VBA Makro ToggleButton
24.11.2020 16:12:09
Laura
Also so ?
Option Explicit
Private Sub Grafik26_Klicken()
If Grafik26.Value Then
Worksheets("Tabelle1").Rows("1:100").Hidden = False
ActiveSheet.Shapes("Picture 1").Visible = True
With Shapes("Rounded Rectangle 3").Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(146, 208, 80)
.Transparency = 0
.Solid
End With
Else
Worksheets("Tabelle1").Rows("1:100").Hidden = True
ActiveSheet.Shapes("Picture 1").Visible = False
With Shapes("Rounded Rectangle 3").Fill
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorBackground1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = -0.15
.Transparency = 0
.Solid
End With
End If
End Sub

Private Sub Grafik22_Klicken()
If Grafik26.Value Then
Worksheets("Tabelle1").Rows("1:100").Hidden = False
ActiveSheet.Shapes("Picture 1").Visible = False
With Shapes("Rounded Rectangle 3").Fill
.Visible = msoTrue
.ForeColor.RGB = RGB(146, 208, 80)
.Transparency = 0
.Solid
End With
Else
Worksheets("Tabelle1").Rows("1:100").Hidden = True
ActiveSheet.Shapes("Picture 1").Visible = True
With Shapes("Rounded Rectangle 3").Fill
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorBackground1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = -0.15
.Transparency = 0
.Solid
End With
End If
End Sub

Anzeige
AW: VBA Makro ToggleButton
24.11.2020 16:39:27
Daniel
nein, so:
Private Sub Grafik26_Klicken()
Worksheets("Tabelle1").Rows("1:100").Hidden = True
ActiveSheet.Shapes("Grafik26").Visible = False
ActiveSheet.Shapes("Grafik22").Visible = True
End Sub
Private Sub Grafik22_Klicken()
Worksheets("Tabelle1").Rows("1:100").Hidden = False
ActiveSheet.Shapes("Grafik22").Visible = False
ActiveSheet.Shapes("Grafik26").Visible = True
End Sub
wobei Grafik22 und Grafik26 die Bilder des ein- bzw ausgeschalteten Togglebuttons sind und sich an der selben Bildschirmposition befinden sollten (funktioniert auch wenn nicht, sieht aber scheiße aus)
Gruß Daniel

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige