2016-08-10 9 views
0

숫자로 레이블 된 도형을 만들어야하지만 도형에 정수가 표시되지 않습니다.모양이 모든 텍스트를 표시하지 않습니다.

숫자가 표시 1~9이다 예를 들어

하지만, 10 내지 19에 대해 단지 1

I 그것이 반드시 동일 반경을 변경하지 않는 나타낸다.

Sheets(xRiS).Select 
Dim textRectangles As Shape 
Dim radius As Integer 
radius = 15 

Set textRectangles = ActiveSheet.Shapes.AddShape(msoShapeOval, (Range("D13").Left - radius/2), _ 
    Range("D13").Top - radius/2, radius, radius) 

textRectangles.Name = "Groups " & i 
textRectangles.TextFrame.Characters.Text = i 
textRectangles.TextFrame.VerticalAlignment = xlVAlignCenter 
textRectangles.TextFrame.HorizontalAlignment = xlHAlignCenter 
textRectangles.TextFrame.Characters.Font.Size = 9 
textRectangles.TextFrame.Characters.Font.Name = "Georgia" 
textRectangles.Fill.ForeColor.RGB = RGB(220, 105, 0) 
textRectangles.Fill.Transparency = 0.5 

이 현재의 결과입니다

enter image description here

이 내가 원하는 결과입니다

enter image description here

가 어떻게 수를 표시하는 모양을 구성 할 수는 어디에 번호는 10-19입니까?

+1

텍스트 정렬 속성을 가운데 중심으로 변경하고 (아직 지정하지 않은 경우) 글꼴 크기를 조정해야 할 수 있습니다. –

+0

in textRectangles.TextFrame 어떻게 중심으로 만들 수 있습니까? 크기는 9입니다. 따라서 5를 넣으면 읽을 수 없게됩니다. – BKChedlia

+0

* 어떻게하면 가운데에 가운데 정렬 할 수 있습니까? 매크로 레코더를 사용하여 어떻게 수행 할 수 있는지 생각해보십시오. –

답변

0

이론적 인 옵션이 몇 가지 있지만 둘 다 radius = 15textRectangles.TextFrame.Characters.Font.Size = 9과 작동하지 않는 것으로 보입니다.

첫 번째는 textRectangles.TextFrame.AutoSize = True입니다. 텍스트를 수정하기 위해 모양을 조정합니다. 그러나 이것은 radius을 크게 확장 할 것입니다.

두 번째는 textRectangles.TextFrame2.AutoSize = msoAutoSizeTextToFitShape입니다. 그러나 최소값이 radius = 33 인 경우에만 작동합니다.

반경을 늘려야 할 수도 있습니다.

+0

반경이 최소화되어 있어야하고 변경되지 않으므로 잘 보입니다. 프로그래밍 방식이 아닌 수동으로 실현할 수있는 이유는 무엇입니까? 33 점이 많으면 큰 것입니다. – BKChedlia

+0

예 - 모든 설정에서'.TextFrame2.AutoSize = msoAutoSizeTextToFitShape'가 작동하지 않습니다. ( –

관련 문제