関数・メソッド

文字コード(Shift_JIS)を取得する【Asc関数】【ExcelVBA】

構文

Asc(String)  

String・・・文字コードを調べたい文字列・変数
戻り値・・・Integer(Stringに該当する文字コードの数値)※ASCIIコード
Asc関数は指定文字列のASCIIコードを判別します。
※複数文字指定された場合は先頭文字のASCIIコードを調べます。

Asc関数のサンプルコード

Public Sub test_Asc()
    
    '■大文字アルファベット
    MsgBox Asc("A") '→65
    MsgBox Asc("Z") '→90
    
    '■小文字アルファベット
    MsgBox Asc("a") '→97
    MsgBox Asc("z") '→122
    
    '■数値(半角)
    MsgBox Asc("0") '→48
    MsgBox Asc("9") '→57
        
    '■ひらがな(全角文字)
    MsgBox Asc("あ") '→-32096
    MsgBox Asc("ん") '→-32015

    '■文字が複数あった場合は先頭の文字コードのみ返却
    MsgBox Asc("abcde") '→97

End Sub

注意点

  • 文字が複数あった場合は先頭文字のみ返します。Asc(“abcde”) と Asc(“a”) は同一結果です。

ASCIIコード一覧

日本語(2バイト文字)は省略。
アルファベット関連の0~127までの数値のASCIIコード一覧表は以下です。

10進 16進 文字 10進 16進 文字 10進 16進 文字 10進 16進 文字
0 0x00 NUL(null文字) 33 0x21 ! 65 0x41 A 97 0x61 a
1 0x01 SOH(ヘッダ開始) 34 0x22 66 0x42 B 98 0x62 b
2 0x02 STX(テキスト開始) 35 0x23 # 67 0x43 C 99 0x63 c
3 0x03 ETX(テキスト終了) 36 0x24 $ 68 0x44 D 100 0x64 d
4 0x04 EOT(転送終了) 37 0x25 % 69 0x45 E 101 0x65 e
5 0x05 ENQ(照会) 38 0x26 & 70 0x46 F 102 0x66 f
6 0x06 ACK(受信確認) 39 0x27 71 0x47 G 103 0x67 g
7 0x07 BEL(警告) 40 0x28 ( 72 0x48 H 104 0x68 h
8 0x08 BS(後退) 41 0x29 ) 73 0x49 I 105 0x69 i
9 0x09 HT(水平タブ) 42 0x2a * 74 0x4a J 106 0x6a j
10 0x0a LF(改行) 43 0x2b + 75 0x4b K 107 0x6b k
11 0x0b VT(垂直タブ) 44 0x2c , 76 0x4c L 108 0x6c l
12 0x0c FF(改頁) 45 0x2d 77 0x4d M 109 0x6d m
13 0x0d CR(復帰) 46 0x2e . 78 0x4e N 110 0x6e n
14 0x0e SO(シフトアウト) 47 0x2f / 79 0x4f O 111 0x6f o
15 0x0f SI(シフトイン) 48 0x30 0 80 0x50 P 112 0x70 p
16 0x10 DLE
(データリンクエスケープ)
49 0x31 1 81 0x51 Q 113 0x71 q
17 0x11 DC1(装置制御1) 50 0x32 2 82 0x52 R 114 0x72 r
18 0x12 DC2(装置制御2) 51 0x33 3 83 0x53 S 115 0x73 s
19 0x13 DC3(装置制御3) 52 0x34 4 84 0x54 T 116 0x74 t
20 0x14 DC4(装置制御4) 53 0x35 5 85 0x55 U 117 0x75 u
21 0x15 NAK(受信失敗) 54 0x36 6 86 0x56 V 118 0x76 v
22 0x16 SYN(同期) 55 0x37 7 87 0x57 W 119 0x77 w
23 0x17 ETB(転送ブロック終了) 56 0x38 8 88 0x58 X 120 0x78 x
24 0x18 CAN(キャンセル) 57 0x39 9 89 0x59 Y 121 0x79 y
25 0x19 EM(メディア終了) 58 0x3a : 90 0x5a Z 122 0x7a z
26 0x1a SUB(置換) 59 0x3b ; 91 0x5b [ 123 0x7b {
27 0x1b ESC(エスケープ) 60 0x3c < 92 0x5c \ 124 0x7c |
28 0x1c FS(フォーム区切り) 61 0x3d = 93 0x5d ] 125 0x7d }
29 0x1d GS(グループ区切り) 62 0x3e > 94 0x5e ^ 126 0x7e ~
30 0x1e RS(レコード区切り) 63 0x3f ? 95 0x5f _ 127 0x7f DEL(削除)
31 0x1f US(ユニット区切り) 64 0x40 @ 96 0x60 `
32 0x20 SPC(空白文字)

関連記事

ダブルクォーテーションを文字列に簡単に入れたい(Chr関数)
Webで取得したデータの半角スペース削除ができない【ExcelVBA】

コメント

  1. 役立ちました、有難うございます。

    ただ【Asc関数のサンプルコード】を参考にされる方は注意が必要かと思います。
    ひらがなの範囲が「あ」から「ん」という勘違いが生まれそうです。
    実際にはひらがなの「あ」の前に小さい「ぁ」が存在します。

    また、ここにはありませんが、カタカナの「ン」の後ろに「ヴ」、「ヵ」、「ヶ」があります。

    参考までに…