Мой код зацикливает диапазон ячеек, который, в свою очередь, добавляет форму со значением ячеек, если значение ячейки в диапазоне больше 1.
Я бы хотел, чтобы каждая вновь добавленная фигура была равномерно расположена справа от первой добавленной фигуры.
В настоящее время мой код размещает каждую фигуру поверх друг друга.
Код
Sub foo()
Dim oval As Shape
Dim rCell As Range
Dim rng As Range
Dim h As Integer
Dim w As Integer
Dim x As Long
Dim shp As Object
h = h + 50 + 2
w = w + 200 + 2
Set rng = Sheet1.Range("A1:A7")
For Each rCell In rng
If rCell > 0 Then
Set oval = ActiveSheet.Shapes.AddShape(msoShapeOval, h + 1, w + 1, 75, 80)
With oval
.Line.Visible = True
.Line.Weight = 8
.Fill.ForeColor.RGB = RGB(255, 255, 255)
.Line.ForeColor.RGB = RGB(0, 0, 0)
.TextFrame.Characters.Caption = rCell.Value
.TextFrame.HorizontalAlignment = xlHAlignCenter
.TextFrame.VerticalAlignment = xlVAlignCenter
.TextFrame.Characters.Font.Size = 22
.TextFrame.Characters.Font.Bold = True
.TextFrame.Characters.Font.Color = RGB(0, 0, 0)
End With
End If
Next rCell
End Sub
Скриншот