今回はAsc関数で指定した文字列の文字コード(Shift_JIS)を取得する方法をご説明します。
Excelの全角文字を半角文字に変換する「ASC関数」とは違いますので、ご注意ください。
普段Excelではあまり使用する事がありませんが、文字コードを扱う処理をするときに使用します。
また、AscB、AscW関数についても簡単にご説明します。
1.Asc/AscB/AscW関数の使い方
Asc関数
Asc関数は指定した文字の文字コード (Shift_JIS) を取得します。
構文は次のように記述します。
Asc(文字列)
文字列または文字列が格納されている変数を指定します。
指定した文字列のShift_JIS の文字コードを数値で返します。
指定した文字列が半角の場合には「0~255」の範囲を、全角のときは「-32768~32767」の範囲で返します。
基本的に引数「文字列」には 1 文字だけ渡します。
仮に複数の文字列を渡したときは 、1 文字目の文字コードを返します。
AscB関数
AscB 関数は文字のバイトデータを取得します。
構文は次のように記述します。
AscB(文字列)
文字列または文字列が格納されている変数を指定します。
指定した文字の、最初の文字のバイトデータを整数型で返します。
引数に文字列が含まれていないと、実行時エラーが発生します。
AscW関数
AscW関数は文字のUnicodeを取得します。
構文は次のように記述します。
AscW(文字列)
文字列または文字列が格納されている変数を指定します。
指定した文字列の、最初の文字のUnicode文字セットを返します。
引数に文字列が含まれていないと、実行時エラーが発生します。
2.サンプルコード
Asc関数
Sub Sample1()
'半角数字
Debug.Print Asc("1") '49
'全角数字
Debug.Print Asc("1") '-32176
'半角小文字
Debug.Print Asc("a") '97
'半角大文字
Debug.Print Asc("A") '65
'全角大文字
Debug.Print Asc("あ") '-32096
'1文字目の「あ」を取得
Debug.Print Asc("あいう") '-32096
End Sub
![](https://officedic.com/wp-content/uploads/2019/07/サンプル1-25.png)
AscB関数
Sub Sample2()
'半角数字
Debug.Print AscB("1") '49
'全角数字
Debug.Print AscB("1") '17
'半角小文字
Debug.Print AscB("a") '97
'半角大文字
Debug.Print AscB("A") '65
'全角大文字
Debug.Print AscB("あ") '66
'1文字目の「あ」を取得
Debug.Print AscB("あいう") '66
End Sub
![](https://officedic.com/wp-content/uploads/2019/07/サンプル2-18.png)
AscW関数
Sub Sample3()
'半角数字
Debug.Print AscW("1") '49
'全角数字
Debug.Print AscW("1") '-239
'半角小文字
Debug.Print AscW("a") '97
'半角大文字
Debug.Print AscW("A") '65
'全角大文字
Debug.Print AscW("あ") '12354
'1文字目の「あ」を取得
Debug.Print AscW("あいう") '12354
End Sub
![](https://officedic.com/wp-content/uploads/2019/07/サンプル3-10.png)