번호를 흔들어서 다시 흔드는 Excel 매크로

1. 소개



「다큐멘테이션? Editor 사용해 Markdown으로 쓸게!」라고 하는 사람은,
끝에서 이런 기사 읽지 않을 것.

자료는 모두 Excel로 만드는 것이 룰, 라고 하는 우치와 같은 직장에 근무하는 분에게,
어쩌면 조금 도움이 될지도 모르지만,
번호를 흔들거나 다시 돌리는, 그냥 그것의 Excel 매크로입니다.

2. 동작 예







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.)에의 대응 등,
여러가지 있습니다만, 그만두겠습니다. (약간의 영역을 넘을 것 같아서.)

좋은 웹페이지 즐겨찾기