LoginSignup
0
1

More than 5 years have passed since last update.

番号を振る・振りなおす Excelマクロ

Last updated at Posted at 2018-12-22

1. はじめに

「ドキュメンテーション? Editor使ってMarkdownで書くよ!」という人は、
端からこんな記事読まないはず。

資料はすべてExcelで作るのがルール、というウチのような職場にお勤めの方に、
もしかしたらちょっと役立つかもしれない、
番号を振ったり振りなおしたりする、ただそれだけのExcelマクロです。

2. 動作例

01.PNG
02.PNG
03.PNG

3. ソース

※参照設定: Microsoft VBScript Regular Expressions 5.5

Sub Numbering()
    Dim r As New RegExp, c As Range, i As Long, v As String
    r.Pattern = "^[0-9]+"
    For Each c In ActiveWindow.RangeSelection.SpecialCells(xlCellTypeConstants)
        i = i + 1
        v = c.Value
        c.Value = IIf(r.Test(v), r.Replace(v, i), i & "." & v)
    Next
End Sub

4. 解説

……するほどのものでもないですが、
選択範囲をSelectionとせずにActiveWindow.RangeSelectionとしたのは、
図形とかを選択していた時のエラーを避けたかったから。
(インテリセンスを効かせたかったというのもある。)
そのくせ、選択範囲に何もないと実行時エラーになることには目を瞑るダブスタぶり。
ほかにも、数字以外(ABC、アイウ、①②③)や多階層(1-1-1.)への対応など、
色々とあるんですが、やめときます。(ちょっとした、の域を超えそうなので。)

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1