![]()
日本の悪しき習慣、Excelでドキュメントを作るとき、
説明用の図の上にオートシェイプで番号を付けたい時がありますよね。
上の画像みたいな感じね。
画面設計で丸数字のシェイプが50個くらい必要だと、
1個ずつ作るのは面倒くさいので、
VBAでいっきに作っちゃいましょう。
Option Explicit
Private Const TOOL_SH As String = "丸数字部品"
Public Sub Nunbering()
Dim sh As Worksheet
Dim objShape As Shape 'Shapeオブジェクト
Set sh = ThisWorkbook.Worksheets(TOOL_SH)
For Each objShape In sh.Shapes
If objShape.TextFrame.Characters.Text = "採番" Then
GoTo LBL_CONTINUE
End If
'Shapeの中にセルの行 - 1の数字をふる
objShape.TextFrame.Characters.Text = objShape.TopLeftCell.Row - 1
'Shapeの中のフォントサイズ
'objShape.TextFrame.Characters.Font.Size = 8
'Shapeの中のフォントの色
'objShape.TextFrame.Characters.Font.Color = RGB(255, 0, 0)
LBL_CONTINUE:
Next
Set sh = Nothing
End Sub
オートシェイプがある位置のセルの行 – 1の数字を振るので、
セルの中にぴったりと配置してください。
画像のようにセルごとコピーすれば良いです。
あとは採番ボタンをピロっと押せば、
通番を振ります。
もちろんオートシェイプの形やデザインは
お好きに変えていただいても動きます。
ダウンロード
自己責任でどうぞ。


