wie kann ich im Excel per VBA gezielt vorgefertigte Formen: z.B Rechte Ecke, Kreise
etc. mit einem Button ein bzw. ausblenden?
Wäre für eure Hilfe sehr dankbar.
gruss
bruno
Um Formen in Excel per VBA ein- und auszublenden, kannst du die folgenden Schritte befolgen:
Öffne deine Excel-Datei und drücke Alt + F11
, um den VBA-Editor zu öffnen.
Füge ein neues Modul hinzu, indem du im Projektfenster mit der rechten Maustaste auf "VBAProject (DeinDateiname)" klickst und "Einfügen" > "Modul" wählst.
Kopiere den folgenden VBA-Code in das Modul:
Sub FormenEinblenden()
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
shp.Visible = True
Next shp
End Sub
Sub FormenAusblenden()
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
shp.Visible = False
Next shp
End Sub
Schließe den VBA-Editor und kehre zu deiner Excel-Datei zurück.
Erstelle einen Button über die Entwicklertools und weise ihm die Makros "FormenEinblenden" und "FormenAusblenden" zu.
Jetzt kannst du die Formen gezielt ein- und ausblenden!
Fehler: Der Button funktioniert nicht.
Fehler: Formen werden nicht gefunden.
Neben der Verwendung von VBA gibt es auch andere Möglichkeiten, um Excel Formen ein- und auszublenden:
Auswahlbereich: Klicke im Register "Start" auf "Suchen und Auswählen" und wähle "Auswahlbereich". Hier kannst du die Sichtbarkeit der Formen manuell steuern.
Gruppierung: Du kannst mehrere Formen gruppieren und die gesamte Gruppe ein- oder ausblenden. Wähle die Formen aus, klicke mit der rechten Maustaste und wähle "Gruppieren".
Hier sind einige praktische Beispiele, um die Nutzung von VBA mit Excel Formen zu veranschaulichen:
Einzelne Form ausblenden: Du kannst spezifische Formen gezielt ansprechen:
Sub EinzelneFormAusblenden()
ActiveSheet.Shapes("NameDerForm").Visible = False
End Sub
Formen nach Typ steuern: Blende nur bestimmte Formen wie Kreise oder Rechtecke ein:
Sub FormenNachTypEinblenden()
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
If shp.Type = msoShapeOval Then
shp.Visible = True
End If
Next shp
End Sub
Formen fixieren: Um zu verhindern, dass sich Formen beim Scrollen oder Ändern der Zellengröße verschieben, kannst du sie fixieren. Klicke mit der rechten Maustaste auf die Form und wähle "Größe und Eigenschaften" > "Eigenschaften" und setze die Option auf "Objekt mit Zellen verschieben".
Verwendung von Variablen: Wenn du viele Formen hast, kannst du Variablen verwenden, um die Effizienz deines Codes zu verbessern.
1. Wie kann ich die Namen aller Formen herausfinden?
Du kannst die Namen der Formen im Auswahlbereich (unter "Suchen und Auswählen") anzeigen lassen.
2. Ist es möglich, die Sichtbarkeit von Formen in mehreren Tabellen gleichzeitig zu steuern?
Ja, du kannst den Code so anpassen, dass er durch alle Arbeitsblätter iteriert. Achte darauf, dass du die Sichtbarkeit nur für die gewünschten Tabellen änderst.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen