Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1720to1724
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

shape Kreissegment

shape Kreissegment
03.11.2019 18:04:53
Raphael
Hallo Excel Freunde
gibt es ein shape das einen Kreissegment oder einen Kreis mit abgeschnittenen Kreissegment darstellt zum Einfügen per VBA vergleichbar wie z. B. ein Rechteck "Rectangel" oder Kreis "Oval"?
Danke und Gruß
Raphael

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Eventuell Kreisdiagramm...
03.11.2019 18:09:59
Beverly
Hi Raphael,
...das aus 2 Datenpunkten (2 Segmenten) besteht - davon kann man 1 dann rausziehen.


AW: Eventuell Kreisdiagramm...
03.11.2019 18:17:38
Raphael
Hi Karin,
ich glaube das ist es nicht was ich meinte.
Ich arbeite gerade an einer Anwendung in der ich verschiedene Formen, shapes, einfüge.
Die meisten sind Kreise, die in Excel "Oval" heissen oder Rechtecke eben "Rectangel".
Ich finde aber keine shape das einen Kreissegment oder ein vollständigen Kreis mit abgeschnittenem Segment darstellt?
Gibts das überhaupt als shape? Am nächsten kommt das Akkord aus den Standardformen. Aber wie spricht man das per VBA an?
Danke und Gruß
Raphael
Anzeige
Ein Shape mit Namen...
03.11.2019 18:30:50
Beverly
Hi Raphael,
..."Akkord" gibt es bei mir (Excel2016) nicht - höchstens ein Shape mit Namen "Teilkreis".
Wenn du wissen willst, wie ein Shape heißt wenn man es per VBA einfügt, dann ist der einfachste Weg, dies mit dem Makrorekorder aufzuzeichnen.


AW: Ein Shape mit Namen...
03.11.2019 18:38:00
Raphael
Hi Karin
hab grad den Macrorecorder bemüht und die Form die bei mir Akkord heißt und dann auch ein Rechteck eingefügt. Aber das Macro hat gar nichts aufgezeichnet?
Sub Makro2()
' Makro2 Makro
End Sub
verwirrter Gruß
Raphael
Anzeige
AW: Ein Shape mit Namen...
03.11.2019 18:40:04
Raphael
nochmal ich
ich füge z. B. ein Kreis so ein:
ActiveSheet.Shapes.AddShape(msoShapeOval, LeftW, TopW, diameterW, diameterW).Select

und eben statt dem "Oval" einene Namen für Kresisegment oder Kreis mit abgeschnittenem Segment
Gruß
Raphael
AW: Ein Shape mit Namen...
03.11.2019 20:23:14
Beverly
Ja, was du machen willst habe ich schon verstanden... Vielleicht wäre es gut wenn du mal beschreiben würdest, wo genau sich bei dir das Shape "Akkord" befindet - vielleicht kann man ja damit was anfangen wenn die Positionen in deiner Excel-Version und meiner Excel-Version identisch sind.
Das von mir erwähnte Shape "Teilkreis" befindet sich bei den Standardformen in der 2. Reihe das 2. von links und heißt msoShapePie. Ob du das meinst weiß ich nicht.


Anzeige
AW: Ein Shape mit Namen...
03.11.2019 20:46:08
Nepumuk
Hallo Raphael,
das Shape hat die Konstante msoShapeChord.
Gruß
nepumuk
Das wäre dann das Shape Sehne - o.w.T
03.11.2019 20:57:16
Beverly


AW: Das wäre dann das Shape Sehne - o.w.T
03.11.2019 21:12:28
Nepumuk
Hallo,
das ist ein Kreissegment:
Userbild
Gruß
Nepumuk
Im dt. Excel2016 benannt: Sehne - o.w.T
03.11.2019 21:22:48
Beverly


AW: Im dt. Excel2016 benannt: Sehne - o.w.T
03.11.2019 22:26:27
Raphael
Genau das ist es. Danke
Kann man das Shape ansprechen bzgl dem Abmessungen und der Orientierung. Z. B. Das die gerade Seite oben ist?
Gruß Raphael
AW: Im dt. Excel2016 benannt: Sehne - o.w.T
04.11.2019 08:21:59
Nepumuk
Hallo Raphael,
so?
Public Sub Test()
    Dim objShape As Shape
    Set objShape = ActiveSheet.Shapes.AddShape(msoShapeChord, 250, 100, 90, 90)
    With objShape.DrawingObject.ShapeRange
        .Adjustments.Item(1) = 115
        .IncrementRotation 257.5
    End With
End Sub

Gruß
Nepumuk
Anzeige
AW: Im dt. Excel2016 benannt: Sehne - o.w.T
04.11.2019 09:25:51
Raphael
Hallo
DANKE
ich werde das heute Abend ausprobieren und dann Rückmelden
Danke und Gruß
Raphael
AW: Im dt. Excel2016 benannt: Sehne - o.w.T
04.11.2019 08:29:27
Beverly
Hi Raphael,
z.B. so:
Dim LeftW As Double
Dim TopW As Double
Dim diameterW As Double
LeftW = 267
TopW = 87
diameterW = 111
With ActiveSheet.Shapes.AddShape(msoShapeChord, LeftW, TopW, diameterW, diameterW)
.IncrementRotation 292
End With


AW: Im dt. Excel2016 benannt: Sehne - o.w.T
04.11.2019 12:33:25
Raphael
Hallo Karin und Nepumuk,
es funktioniert, Danke
nur noch ein Problem mit der Farbe und der Höhe des Kreissegmentes.
Folgenden Code habe ich (Nepumuk, kommt dir bestimmt bekannt vor)
Dim objShape As Shape
Dim FarbeWea
FarbeWea = Range("ce23").Interior.Color
Dim LeftWea
LeftWea = Range("cj23")
Dim TopWea
TopWea = Range("cl23")
Dim diameterWea
diameterWea = Range("ch23")
'shape11 / Wafer Edge
Set objShape = ActiveSheet.Shapes.AddShape(msoShapeChord, LeftWea, TopWea, diameterWea,  _
diameterWea)
With objShape.DrawingObject.ShapeRange
.IncrementRotation 257.5
.Adjustments.Item(1) = 115
End With
Selection.ShapeRange.Name = Range("cc23")
Selection.Name = Range("cc23").Value
With Selection.ShapeRange.Fill
.Visible = msoFalse
.ForeColor.RGB = FarbeWea
.Transparency = 0
.Solid
End With
'ohne Rahmen
Selection.ShapeRange.Line.Visible = msoFalse

Damit wird der Kreis nicht dargestellt, das Segment aber in Standard blau mit Rahmen. Kann man die Farbe des Segmentes ansprechen?
Und die Höhe des Segmentes. Die Werte:
        .IncrementRotation 257.5
.Adjustments.Item(1) = 115
machen zumindest das Segment waagerecht, aber die Höhe kann ich nicht beeinflussen
Danke noch mal für die Hilfestellung
Gruß
Raphael
Anzeige
AW: Im dt. Excel2016 benannt: Sehne - o.w.T
04.11.2019 12:44:24
Raphael
Hallo nochmal
über

.Adjustments.Item(1) = 215 
kann man den Abschnitt bestimmen. :)
In welchem Zusammenhang stehen die Zahlen. Was sagt die 215 aus? Ist es eine bestimmte Pixelanzahl für die Höhe? Und wie hängt das mit der Rotation zusammen? Wo ist der Startpkt des Segmentes?
Fragen über Fragen
-> Gibt es eine sinnvolle BEschreibung irgendwo
Danke nochmal
Raphael
AW: Im dt. Excel2016 benannt: Sehne - o.w.T
04.11.2019 13:04:28
Nepumuk
Hallo Raphael,
nicht das ich wüsste.
Gruß
Nepumuk

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige