Excel VBAで丸数字を自動で振る方法(ChrW関数)
0. 背景
VBA開発依頼の資料(サンプル)の項番に丸数字が使われていた・・・
1. はじめに
Excelで①、②、③…のような 丸数字 を連番として振る方法の覚書き。
VBAの ChrW関数
を使うことで、ユニコードから丸数字など環境依存文字を呼び出せる。
2. 丸数字の文字コード
丸数字はUnicodeの U+2460 から始まる。
ChrW関数
を使うと、以下のように対応する文字を取得できる。
例:①~⑤のUnicode・コード対応表
数字 | Unicode | ChrW関数 (16進数) |
---|---|---|
① | U+2460 | ChrW(&H2460) |
② | U+2461 | ChrW(&H2461) |
③ | U+2462 | ChrW(&H2462) |
④ | U+2463 | ChrW(&H2463) |
⑤ | U+2464 | ChrW(&H2464) |
※ 10進数表記でコードを書きたい場合は、"&H"
を除くこと
※ Unicodeの調べ方:Unicodeの文字コード確認ツール
3. VBAで丸数字を振る
例:A1セルから連番の丸数字を振る
Sub 丸数字を振る()
Dim i As Integer
For i = 0 To 19 ' 20個の丸数字を振る
Range("A" & i + 1).Value = ChrW(&H2460 + i)
Next i
End Sub
4. 注意点
- **環境依存文字のため、フォントによっては表示されない場合があru
-
- 例:MS Pゴシック、メイリオでは正常表示されるが、一部のフォントでは"□"になる。
-
丸数字は20(⑳, U+2473)までしかないため、それ以上の数値は別の方法が必要。
- 21以上の番号を付けたい場合は、通常の数字を使うのが無難・・・
5. まとめ
ChrW関数
を使えば、Excel VBAで簡単に ①、②、③…のような環境依存文字 を呼び出すことができる。
フォントや、丸数字は"20"までしかないなどの制約があるので、必要に差し迫られたとき以外は使わないほうがいいと思われる・・・