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
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige