これは
Excelで資料を作成するときに便利かもしれない、ちょっとしたマクロです。
何かを図解する資料を作ろうとしたとき、
図形を挿入して、右クリックで「テキストの編集」を選んで、、、
というのを繰り返すのが煩わしくなったのです。
そこで、先に図形だけ配置しておいて、
テキストは後からマクロで一気に流し込むことにしました。
以前作った図形の位置調整マクロ を応用する形で作りました。
そちらと併用するとより便利かもしれません。
資料を作るときだけでなく、あとで修正したりするときにも重宝します。
動作のイメージ
コード
Sub 図形に文字列を流し込む()
On Error Resume Next
Dim shp As ShapeRange, rng As Range
With ActiveWindow
Set shp = .Selection.ShapeRange
If shp Is Nothing Then If MsgBox("図形を選択した状態で実行してください") = vbOK Then Exit Sub
Set rng = Application.InputBox("流し込む文字列を指定", "セル範囲選択", .RangeSelection.Address, , , , , 8)
If rng Is Nothing Then Exit Sub
End With
Dim c As Range, i
For Each c In rng
i = i + 1
If i > shp.Count Then Exit Sub
shp(i).TextFrame.Characters.Text = c.Value
Next
End Sub