読者です 読者をやめる 読者になる 読者になる

Excel のシート名から数字以外消す

今の設計書ってご丁寧にもシートごとに「数字. 機能名」みたいにされてるんですよ。
でも、機能一覧を印刷してしまえば、機能名とか幅とって邪魔なだけなんですよねー。番号さえ分かればいい。
てことで、マクロ書いて数字からはじまるシートだけ残し、更にシートの名前を数字オンリーに変更するようにした。
数字がかぶった場合は削除せず、残しておいて、人間が必要か不要か判断することに。

Sub ToInt()
    For Each s In ActiveWorkbook.Sheets
        If StartsWithNum(s.name) Then
            On Error Resume Next
            s.name = Str(Val(s.name))
        Else
            s.Delete
        End If
    Next
End Sub

Function StartsWithNum(name As String) As Boolean
    Dim ch As Integer
    ch = Asc(Left(name, 1))
    StartsWithNum = Asc("0") <= ch And ch <= Asc("9")
End Function

んー、かぶった場合は「'」とか付けた方が良かったかも。まぁいいや。
これでだいぶ作業がはかどった。