|
下記マクロは、A列の文字列のシェイプを一括作成するものですが、
この「文字列」を「数式」にしたいです。
即ち、A列の数式のシェイプを一括作成するマクロにしたいのです。
そうなった場合の、マクロの完成形をご教示いただけないでしょうか。
改行やシェイプの形等は、変えずにお願いします。
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Sub A列の文字列のシェイプを一括作成()
Dim shapeType As String
Dim shapeW As Integer
Dim shapeH As Integer
Dim kaigyo As Integer
'=== シェイプの形と大きさを決めて下さい ここから ===
shapeType = msoTextOrientationHorizontal 'シェイプの形
shapeW = 130 'シェイプの大きさ(横幅)
shapeH = 25 'シェイプの大きさ(高さ)
kaigyo = 1 '何個おきに改行させるか
'=== シェイプの形と大きさを決めて下さい ここまで ===
Dim maxRow As Integer
maxRow = Range("A65536").End(xlUp).Row
Dim myShape As shape
Dim rcode() As String 'シェイプ内の文字列その1
ReDim rcode(maxRow)
Dim shapeRow As Integer 'シェイプを作る行
Dim shapeCol As Integer 'シェイプを作る列
shapeRow = 0
For i = 1 To maxRow
'A列の値を取得
rcode(i) = ActiveSheet.Cells(i, 1).Value
'シェイプを作る位置を決める。
If i Mod kaigyo = 0 Then '何個おきに改行させるか
shapeCol = 5
shapeRow = shapeRow + shapeH
End If
'オートシェイプを作成する
Set myShape = ActiveSheet.Shapes.AddShape(Type:=shapeType, _
Left:=shapeCol, Top:=shapeRow, Width:=shapeW, Height:=shapeH)
'文字列を入れる
myShape.Select
Selection.Characters.Text = rcode(i) 'A列のみ
shapeCol = shapeCol + shapeW
Next
End Sub
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
|
|