形状不显示所有文字

时间:2016-08-10 14:11:42

标签: excel-vba shapes vba excel

我需要创建标有数字的形状,但形状不会显示整数。

例如,显示的数字为1到9,但是对于10到19,它只显示1。

我不想改变它必须相同的半径。

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 :(得分:0)

有几个理论选项,但似乎它们都不适用于radius = 15textRectangles.TextFrame.Characters.Font.Size = 9

首先是textRectangles.TextFrame.AutoSize = True调整形状大小以修复文本 - 然而,这将显着扩展radius

第二个是textRectangles.TextFrame2.AutoSize = msoAutoSizeTextToFitShape - 但是,这仅在最小值为radius = 33时才有效。

您可能需要考虑增加半径。