ActiveSheet.Shapes.Count
Gruß
Martin Beck
Danke!!
Öffne Excel und lade das Arbeitsblatt, auf dem Du die Shapes zählen möchtest.
Drücke ALT + F11
, um den VBA-Editor zu öffnen.
Füge ein neues Modul hinzu:
Einfügen
> Modul
.Gib den folgenden Code ein, um die Anzahl der Shapes zu zählen:
Sub CountShapes()
Dim shapeCount As Long
shapeCount = ActiveSheet.Shapes.Count
MsgBox "Anzahl der Shapes: " & shapeCount
End Sub
Starte das Makro:
F5
oder gehe zu Run
> Run Sub/UserForm
.Eine Nachricht zeigt die Anzahl der Shapes auf dem aktiven Blatt an.
Problem: "Der Code funktioniert nicht!"
ActiveSheet.Shapes.Count
sollte korrekt sein.Problem: "Ich bekomme eine Fehlermeldung."
Wenn Du die Anzahl der Shapes ohne VBA zählen möchtest, kannst Du auch die Excel-Funktion verwenden:
=ANZAHL2(SHAPES(A1:A100))
Diese Methode ist allerdings weniger flexibel und funktioniert nicht in allen Excel-Versionen.
Beispiel 1: Zähle die Shapes in einem Diagrammblatt:
Sub CountShapesInChart()
Dim shapeCount As Long
shapeCount = ActiveSheet.ChartObjects(1).Chart.Shapes.Count
MsgBox "Anzahl der Shapes im Diagramm: " & shapeCount
End Sub
Beispiel 2: Zähle und speichere die Anzahl der Shapes in einer Zelle:
Sub SaveShapeCountToCell()
ActiveSheet.Range("A1").Value = ActiveSheet.Shapes.Count
End Sub
activesheet.shapes.vba
in Kombination mit anderen VBA-Funktionen, um komplexere Analysen durchzuführen.For Each
-Schleifen, um spezifische Shapes zu identifizieren und deren Eigenschaften auszulesen.1. Wie zähle ich Shapes in einem bestimmten Bereich? Du kannst die Shapes in einem bestimmten Bereich zählen, indem Du die Shapes sammelst und durch sie iterierst. Das könnte so aussehen:
Sub CountShapesInRange()
Dim shapeCount As Long
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
If Not Intersect(shp.TopLeftCell, ActiveSheet.Range("A1:B10")) Is Nothing Then
shapeCount = shapeCount + 1
End If
Next shp
MsgBox "Anzahl der Shapes im Bereich A1:B10: " & shapeCount
End Sub
2. Was ist der Unterschied zwischen Shapes.Count
und ChartObjects.Count
?
Shapes.Count
zählt alle Shapes auf dem Arbeitsblatt, während ChartObjects.Count
nur die Diagramme zählt. Wenn Du also nur die Diagramme zählen möchtest, solltest Du ActiveSheet.ChartObjects.Count
verwenden.
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