Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1872to1876
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

Formen zählen

Formen zählen
04.03.2022 13:19:54
Klausi
Hallo zusammen,
kann mir jemand sagen, ob und wie man Formen zählen kann in Excel (VBA)?
Etwas genauer gefragt:
Ich habe ein Arbeitsblatt, auf dem viele verschiedenfarbige Formen (Kreise) sind. Diese ändern mithilfe des folgenden Codes ihre Farbe.
Sub FarbeÄndern() Dim Farbe(0 To 4) Farbe(0) = RGB(255, 255, 255) Farbe(1) = RGB(0, 255, 0) Farbe(2) = RGB(0, 255, 255) Farbe(3) = RGB(255, 0, 255) Farbe(4) = RGB(255, 255, 0) With ActiveSheet.Shapes(Application.Caller).Fill.ForeColor Select Case .RGB Case Farbe(0): .RGB = Farbe(1) Case Farbe(1): .RGB = Farbe(2) Case Farbe(2): .RGB = Farbe(3) Case Farbe(3): .RGB = Farbe(4) Case Farbe(4): .RGB = Farbe(0) End Select End With End Sub >
Jetzt will ich eine Liste einfügen, in der gezählt wird, wie viele der Formen rot, grün, etc. sind.
Also im Prinzip Zählenwenn auf verschieden gefärbte Formen angewandt.
Vielen Dank

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formen zählen
04.03.2022 13:39:37
MCO
Hallo!
Grundsätzlich:

ActiveSheet.Shapes.count
Aber wenn du nach Farbe zählen willst dann musst du ähnlich vorgehen wie beim Zuweisen der farben:

dim zähl_0 as long,zähl_1 as long,zähl_2 as long,zähl_3 as long,zähl_4 as long
Farbe(0) = RGB(255, 255, 255)
Farbe(1) = RGB(0, 255, 0)
Farbe(2) = RGB(0, 255, 255)
Farbe(3) = RGB(255, 0, 255)
Farbe(4) = RGB(255, 255, 0)
for each kreis in activesheets.shapes
select case kreis.rgb
case  Farbe(0) : zähl_0 = zähl_0 = +1
case  Farbe(1) : zähl_1 = zähl_1 = +1
usw
end select.
msgbox Farbe(0) & " gibt es " & zähl_0 & "x",vbokonly
next kreis
Viel Erfolg!
Gruß, MCO
Anzeige
AW: Formen zählen
04.03.2022 13:54:42
Rudi
Hallo,

Sub FarbeZaehlen()
Dim Farbe(4), Anzahl(4) As Integer, i As Integer
Dim shp As Shape
Farbe(0) = RGB(255, 255, 255)
Farbe(1) = RGB(0, 255, 0)
Farbe(2) = RGB(0, 255, 255)
Farbe(3) = RGB(255, 0, 255)
Farbe(4) = RGB(255, 255, 0)
For Each shp In ActiveSheet.Shapes
For i = 0 To 4
If shp.Fill.ForeColor.RGB = Farbe(i) Then
Anzahl(i) = Anzahl(i) + 1
End If
Next i
Next shp
For i = 0 To 4
MsgBox "Farbe " & i & ": " & Anzahl(i) & "x"
Next i
End Sub
Gruß
Rudi
AW: Formen zählen
04.03.2022 14:14:51
Klausi
Besten Dank euch beiden.
Das klappt schon besser als ich es erwartet habe.
Leider bin ich jetzt etwas überfordert und weiß nicht, wie ich es schaffe, dass die Ergebnisse nicht in einer MsgBox erscheinen, sondern jeweils in einer Zelle.
Farbe(0) in Zelle A2
Farbe(1) in Zelle A3
...
Anzeige
AW: Formen zählen
04.03.2022 14:35:49
UweD
HAllo
ungetestet...

For i = 0 To 4
Cells(i+2,1)= Anzahl(i)
Next i
...
LG UweD

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige