概要

Asc関数は、指定された文字のASCIIコード(数値)を返すExcel VBAの関数です。この関数は、文字列の中から特定の文字を数値に変換して処理する際に使用されます。たとえば、アルファベットの並び順を比較する場合などに便利です。

構文

Asc(文字)

パラメータ

  • 文字
    変換対象の1文字を指定します。文字列の最初の文字のみが評価され、残りは無視されます。

戻り値

指定された文字のASCIIコードを数値で返します。例えば、“A”の場合は65、“a”の場合は97が返されます。

説明

Asc関数は、与えられた文字のASCIIコードを取得するために使用されます。これは文字の並び順や、特定の文字が他の文字よりも大きいか小さいかを判定するのに役立ちます。大文字と小文字は異なるコードを持つため、比較する際に注意が必要です。

  • 大文字・小文字の違い
    例えば、“A”のASCIIコードは65ですが、“a”のASCIIコードは97です。この違いを利用して、大文字と小文字の違いを判定できます。

  • 数値と文字の比較
    Asc関数を使用すると、文字を数値として扱うことができるため、文字列のソートやフィルタリングに役立ちます。

使用例

基本的な使用例 - 文字のASCIIコードを取得する

Sub SampleAsc()
    Dim code As Integer
    code = Asc("A")

    MsgBox "AのASCIIコードは: " & code  ' 結果: 65
End Sub

文字列の最初の文字のコードを取得する

Sub AscFirstCharacter()
    Dim str As String
    Dim code As Integer

    str = "Hello"

    ' "H"のASCIIコードを取得
    code = Asc(str)

    MsgBox "HのASCIIコードは: " & code  ' 結果: 72
End Sub

大文字・小文字のコードを比較する

Sub CompareCase()
    Dim upperCode As Integer
    Dim lowerCode As Integer

    upperCode = Asc("A")
    lowerCode = Asc("a")

    If upperCode < lowerCode Then
        MsgBox "大文字Aは小文字aよりも小さいコードを持ちます。"  ' 結果: 65 < 97
    End If
End Sub

備考

  • 数値以外の文字について
    Asc関数は、制御文字や特殊文字のASCIIコードも返すことができます。

  • 複数文字の処理
    Asc関数は、文字列の最初の文字だけを評価します。複数の文字を順に評価したい場合は、ループを使用して1文字ずつ処理します。

  • 日本語や特殊文字への対応
    Asc関数は標準のASCIIコードに基づくため、全角文字や日本語文字には正確に対応しません。この場合、AscW関数を使用してUnicodeコードポイントを取得することが推奨されます。