VBA 丸付き数字を使う

データ内の数字を①、②・・・や➊、➋・・・Ⅰ、Ⅱ・・・で表示して目立つようにしたい場合、文字として扱うと①、②と順番に変えていくことが面倒です。

そこでUnicodeを使いたいのですがUnicode表は16進数で表示されているのが多く変数として扱うにはハードルが高い。

10進数に変換してしまえばVBA内で変数として扱えます。

ただし、最大値を意識せずにやってしまうと思わぬ文字が入ってきますので扱う最大値を考慮しながら使ってください。(Unicode一覧表で確認してください)

 

Sub 変数()
Dim AA
  For AA = 2 To 5
   Cells(AA, 1) = ChrW(8544 + AA - 2)
  Next AA
End Sub

 (参考1)ある文字のUnicodeを調べたいとき

Sub 調査()
Dim txt As String
 txt = "勝"
   Cells(2, 1) = AscW(txt)
   Cells(2, 2) = Hex(AscW(txt))
End Sub

21213 52DD

 (参考2)Unicode(HEX)から文字に変換する場合

Sub 変換2()
   Cells(2, 1) = ChrW(&H2460)
   Cells(3, 1) = ChrW(2460)  ’間違えると予期せぬ文字が・・
End Sub 

 

  UNICODE (HEX)     UNICODE (HEX)
9312 2460   10122 278A
9313 2461   10123 278B
9314 2462   10124 278C
9315 2463   10125 278D
9316 2464   10126 278E
9317 2465   10127 278F
9318 2466   10128 2790
9319 2467   10129 2791
9320 2468   10130 2792
9321 2469   10131 2793
9322 246A   9451 24EB
9323 246B   9452 24EC
9324 246C   9453 24ED
9325 246D   9454 24EE
9326 246E   9455 24EF
9327 246F   9456 24F0
8544 2160   8560 2170
8545 2161   8561 2171
8546 2162   8562 2172
8547 2163   8563 2173
8548 2164   8564 2174
8549 2165   8565 2175
8550 2166   8566 2176
8551 2167   8567 2177
8552 2168   8568 2178
8553 2169   8569 2179
8554 216A   8570 217A
8555 216B   8571 217B

 

  UNICODE (HEX)   UNICODE (HEX)   UNICODE (HEX)
A 65 41 a 97 61 9398 24B6
B 66 42 b 98 62 9399 24B7
C 67 43 c 99 63 9400 24B8
D 68 44 d 100 64 9401 24B9
E 69 45 e 101 65 9402 24BA
F 70 46 f 102 66 9403 24BB
G 71 47 g 103 67 9404 24BC
H 72 48 h 104 68 9405 24BD
I 73 49 i 105 69 9406 24BE
J 74 4A j 106 6A 9407 24BF
K 75 4B k 107 6B 9408 24C0
L 76 4C l 108 6C 9409 24C1
M 77 4D m 109 6D 9410 24C2
N 78 4E n 110 6E 9411 24C3
O 79 4F o 111 6F 9412 24C4
P 80 50 p 112 70 9413 24C5
Q 81 51 q 113 71 9414 24C6
R 82 52 r 114 72 9415 24C7
S 83 53 s 115 73 9416 24C8
T 84 54 t 116 74 9417 24C9
U 85 55 u 117 75 9418 24CA
V 86 56 v 118 76 9419 24CB
W 87 57 w 119 77 9420 24CC
X 88 58 x 120 78 9421 24CD
Y 89 59 y 121 79 9422 24CE
Z 90 5A z 122 7A 9423 24CF