Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Arc Shape Rotation

Forumthread: Arc Shape Rotation

Arc Shape Rotation
05.09.2007 10:45:00
Joe
Hallo,
für die Darstellung von Prozentwerten im Rahmen eines Projektreportings werden kleine Tortendiagramme mit Hilfe von Arc-Shapes dargestellt. Das habe ich bisher mit Copy und Paste der Vorgezeichneten Shapes getan. Jetzt möchte ich die Shapes mit VBA erzeugen. Das klappt auch, nur tanzt das modifizierte Arc-Shape immer hin und her, so dass eine exakte Darstellung nicht möglich ist. Hat sich schon mal jemand damit befasst?
Hier mein Code:
Radius = 10
ActiveSheet.Shapes.AddShape(msoShapeArc, 360, 13, Radius, Radius).Select
With Selection
With .ShapeRange
.Flip msoFlipHorizontal
.IncrementRotation 90#
.Height = Radius
.Width = Radius
.Adjustments.Item(1) = 360
.Fill.ForeColor.SchemeColor = 9
.Fill.Solid
.Line.Weight = 0.75
.Line.ForeColor.RGB = RGB(128, 128, 128)
.ZOrder msoBringToFront
End With
.Name = "Kreis"
End With
For a = 1 To 100
ActiveSheet.Shapes.AddShape(msoShapeArc, 360, 13, Radius, Radius).Select
With Selection
With .ShapeRange
.Flip msoFlipHorizontal
.IncrementRotation 90#
.Height = Radius
.Width = Radius
.Adjustments.Item(1) = Int((360 / 100) * a)
.Fill.ForeColor.SchemeColor = 8
.Fill.Solid
.Line.Weight = 0.75
.Line.ForeColor.RGB = RGB(128, 128, 128)
End With
End With
DoEvents
For b = 1 To 2000000
Next
Selection.Delete
Next
ActiveSheet.Shapes("Kreis").Delete

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Arc Shape Rotation
05.09.2007 13:00:08
Herbert
Hi,
Der Sinn dieses Codes....
For a = 1 To 100
ActiveSheet.Shapes.AddShape(msoShapeArc, 360, 13, Radius, Radius).Select
With Selection
With .ShapeRange
.Flip msoFlipHorizontal
.IncrementRotation 90#
.Height = Radius
.Width = Radius
.Adjustments.Item(1) = Int((360 / 100) * a)
.Fill.ForeColor.SchemeColor = 8
.Fill.Solid
.Line.Weight = 0.75
.Line.ForeColor.RGB = RGB(128, 128, 128)
End With
End With
DoEvents
For b = 1 To 2000000
Next
Selection.Delete
Next
ActiveSheet.Shapes("Kreis").Delete
...will sich mir nicht erschließen?
mfg Herbert

Anzeige
AW: Arc Shape Rotation
05.09.2007 14:14:00
Joe
Die erste Hälfte bis vor der FOR-Schleife malt einen weißen Kreis als Hintergrund.
Die zweite Hälfte durchläuft die Prozentwerte 1-100 und malt ein Arc-Shape entspreched des aktuellen Prozentwertes, wartet, und löscht es dann wieder.
Ist wie ein kleiner Film. Einfach mal laufen lassen. Soll nur das "Tanzen" der Arc-Shapes demonstrieren.

Anzeige
AW: Arc Shape Rotation
05.09.2007 15:01:00
Herbert
Hi,
na schön, nur welchen Zweck verfolgst du damit?
mfg Herbert

AW: Arc Shape Rotation
05.09.2007 16:24:47
Holger
Hallo Joe,
frag mal den Kaiser von der HM, der kann das.
Ich auch, aber not for nothing.
Grüße Holger
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige