2016-08-09 7 views
0

Hallo ich brauche Form hinzufügen dynamisch Zellenecke D12 (links, unten) hier ist mein CodeaddShape in Zelle Ecke

Set textRectangle = ActiveSheet.Shapes.AddShape(msoShapeOval, Range("D13").Left, Range("D13").Top, 20, 20) 

textRectangle.name = "test shape" 
' add your text 
textRectangle.TextFrame.Characters.Text = "Your" 

' fill the shape with the rgb color of your choice 
textRectangle.Fill.ForeColor.RGB = RGB(220, 105, 0) 

mit diesem Ergebnis: enter image description here

und hier ist das Ergebnis, das ich zu wollen haben enter image description here

ich den Kreis am reshapping nach dem Erstellen es

Antwort

0

ich denke, th Vielleicht müssen Sie auch den Radius der Form berücksichtigen, während Sie ihn hinzufügen.

Code:

Sub add_shape() 

    Dim textRectangle As Shape 
    Dim radius As Integer 
    radius = 20 
    Set textRectangle = ActiveSheet.Shapes.AddShape(msoShapeOval, (Range("D13").Left - radius/2), _ 
         Range("D13").Top - radius/2, radius, radius) 

End Sub 

auch (für die Zukunft), können Sie die Verwendung von Range("A1").Width und Range("A1").Height Eigenschaften für andere Objektmanipulation :)

HTH machen;)

+0

Dank für Ihre Hilfe, ich habe es versucht und es ist nicht in der Mitte der Ecke, vermisse ich etwas? – BKChedlia

+0

Können Sie den Code, den Sie geschrieben haben, bitte posten? – RCaetano

+0

Ich habe Ihren Code ausprobiert, dann habe ich meinen Code ausprobiert, der Chaos ist, aber gib mir die gute Position: Setze textRectangle = ActiveSheet.Shapes.AddShape (msoShapeOval, (Bereich ("D12"). Links) - 10, (Bereich ("D12 ") .Top) + 89, 10, 10) – BKChedlia