code beschleunigen
20.04.2005 14:12:53
joe
in meinem arbeitsblatt habe ich eine zeichnung per makro erstellt, in der sehr viele shapes enthalten sind.
alle shapes haben eine eindeutige bezeichnung.
in folgendem code-beispiel zähle ich zum einen die anzahl der vorhandenen shapes mit namen "Control" (einer xlCheckBox), und ändere dann die farbe von einem rechteck in abhägigkeit davon, ob "Control" true oder false ist.
leider dauert das bei großen zeichnungen zu lange.
daher würde es mich freuen, wenn jemand eine möglichkeit weiß, wie man dies beschleunigen könnte.
Sub zaehlen()
Dim auswahl As Shape
Dim rechteck As Shape
Dim zaehler As Integer
Dim rechteckzaehler As Integer
For Each auswahl In ActiveSheet.Shapes
If (Left(auswahl.Name, 7) = "Control") Then
zaehler = zaehler + 1
auswahl.Select
For Each rechteck In ActiveSheet.Shapes
If (rechteck.Name = "rechteck " & zaehler) Then
If (Selection.Value = 1) Then
rechteck.Fill.ForeColor.SchemeColor = 5
rechteck.AlternativeText = "auswahl"
rechteckzaehler = rechteckzaehler + 1
Else
rechteck.Fill.ForeColor.SchemeColor = 1
rechteck.AlternativeText = ""
End If
End If
Next
End If
Next
End Sub
vielen dank im voraus
joe