Shapes in Tabellenblatt zählen
Schritt-für-Schritt-Anleitung
Um die Anzahl der Shapes in einem Excel-Arbeitsblatt zu zählen, kannst Du das folgende VBA-Skript verwenden. Dieser Code zählt die Shapes in den Spalten A, B und C und gibt die Ergebnisse in den Zellen A10, B10 und C10 aus.
- Öffne Excel und drücke
ALT + F11
, um den VBA-Editor zu öffnen.
- Klicke auf Einfügen und wähle dann Modul, um ein neues Modul zu erstellen.
- Füge den folgenden Code ein:
Sub ShapesZaehlen()
Dim shaShape As Shape
Dim lngShapeA As Long
Dim lngShapeB As Long
Dim lngShapeC As Long
For Each shaShape In ActiveSheet.Shapes
If Not Intersect(shaShape.TopLeftCell, Columns(1)) Is Nothing Then
lngShapeA = lngShapeA + 1
ElseIf Not Intersect(shaShape.TopLeftCell, Columns(2)) Is Nothing Then
lngShapeB = lngShapeB + 1
ElseIf Not Intersect(shaShape.TopLeftCell, Columns(3)) Is Nothing Then
lngShapeC = lngShapeC + 1
End If
Next shaShape
Range("A10") = lngShapeA
Range("B10") = lngShapeB
Range("C10") = lngShapeC
End Sub
- Schließe den VBA-Editor und kehre zu Excel zurück.
- Führe das Makro aus, indem Du
ALT + F8
drückst, das Makro auswählst und auf Ausführen klickst.
Jedes Mal, wenn Du die Position der Shapes änderst, musst Du dieses Makro erneut ausführen.
Häufige Fehler und Lösungen
-
Fehler: Makro funktioniert nicht
Stelle sicher, dass Du die Makros in Excel aktiviert hast. Gehe zu Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter > Makroeinstellungen und aktiviere die Makros.
-
Fehler: Shapes werden nicht gezählt
Überprüfe, ob die Shapes tatsächlich in den angegebenen Spalten platziert sind. Shapes "schweben" über den Zellen, daher kann die Position manchmal ungenau sein.
Alternative Methoden
Du kannst auch die Anzahl der Shapes im gesamten Arbeitsblatt mit dem folgenden Befehl zählen:
MsgBox "Anzahl der Shapes: " & ActiveSheet.Shapes.Count
Dieser Befehl zeigt die Gesamtanzahl der Shapes in einem MessageBox-Fenster an.
Praktische Beispiele
Angenommen, Du hast mehrere Shapes in den Spalten A, B und C platziert. Wenn Du das oben genannte Makro ausführst, erhältst Du die Anzahl der Shapes in jeder dieser Spalten in den Zellen A10, B10 und C10. Du kannst die Ausgabezellen nach Belieben anpassen.
Tipps für Profis
- Verwende die
activesheet.shapes.count
-Funktion, um schnell die Gesamtzahl aller Shapes zu überprüfen, ohne sie nach Spalten zu sortieren.
- Du kannst das Makro so anpassen, dass es automatisch ausgeführt wird, wenn sich die Zellen ändern. Dafür kannst Du das
Worksheet_Change
-Ereignis verwenden, um das Zählen der Shapes bei Änderungen zu automatisieren.
FAQ: Häufige Fragen
1. Wie kann ich die Zählung der Shapes automatisieren?
Du kannst das Makro so anpassen, dass es beim Ändern von Zellen automatisch ausgeführt wird, indem Du das Worksheet_Change
-Ereignis verwendest.
2. Kann ich die Shapes in anderen Spalten zählen?
Ja, passe einfach die If
-Bedingungen im VBA-Code an, um die gewünschten Spalten zu zählen und die Ausgabezellen entsprechend zu ändern.