日本の悪しき習慣、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の数字を振るので、
セルの中にぴったりと配置してください。
画像のようにセルごとコピーすれば良いです。
あとは採番ボタンをピロっと押せば、
通番を振ります。
もちろんオートシェイプの形やデザインは
お好きに変えていただいても動きます。
ダウンロード
自己責任でどうぞ。