Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
900to904
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
900to904
900to904
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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.

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 15:56:00
Joe
Letztendlich soll sowas automatisch generiert werden: https://www.herber.de/bbs/user/45715.xls
Ahoi

Anzeige
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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige