|
▼AA さん:
>オートシェイプの幅と位置情報が全て同じになってしまいます。
>どこが悪いのかわからない状況です。
こんにちは。
> YOKOHABA = ActiveCell.Offset(0, 5).Value
> TATEHABA = ActiveCell.Offset(0, 6).Value
> YOKO = ActiveCell.Offset(0, 7).Value
> TATE = ActiveCell.Offset(0, 8).Value
図形位置とサイズの情報が
Do〜Loop
の外にあるからです。Loopのなかに もってきましょう。
あと、
Shapes.AddShape(Type, Left, Top, Width, Height)
が正規のパラメータ順です。
> YOKOHABA, TATEHABA, YOKO, TATE
ではないですよ。大丈夫ですか
Sub AAA()
Dim YOKOHABA As Long
Dim TATEHABA As Long
Dim YOKO As Long
Dim TATE As Long
Dim c As Range
Dim v
Dim s As String
For Each c In Range("A2", Cells(Rows.Count, 1).End(xlUp))
YOKOHABA = c.Item(1, 8).Value
TATEHABA = c.Item(1, 9).Value
YOKO = c.Item(1, 6).Value
TATE = c.Item(1, 7).Value
v = Application.Index(c.Resize(, 4).Value, 0#)
s = Join(v, vbLf) & vbLf
With ActiveSheet.Shapes.AddShape( _
msoShapeRectangle, YOKOHABA, TATEHABA, YOKO, TATE)
With .TextFrame.Characters
.Text = s
With .Font
.Name = "MS Pゴシック"
.FontStyle = "標準"
.Size = 11
End With
End With
End With
Next c
End Sub
|
|