HOME > エクセルVBA >VBA関数(文字列操作に関する関数)

VBA関数(文字列操作に関する関数)

 ここではVBA関数の中でも文字列操作に関する関数を紹介していきます。ここで紹介する関数をマスターすると文字列の検索・取得・変換などを自由に操ることができるので、プログラミングの幅が大きく広がります。

文字列の取得

文字列の検索

文字列操作

文字列の変換

文字列の比較

  • StrComp関数
  • その他の関数

    文字列の取得

    Len関数

     引数stringに文字列を指定すると文字数を返します。引数varnameには変数を代入します。変数に必要なバイト数を返します。引数stringか引数varnameどちらかを指定します。

    構文
    Len(string|varname)

    Left関数

     Left関数は指定した文字列の左から指定数分の文字列を返します。0を指定したら文字列0を返し、していした文字列数以上の文字列を指定するとすべての文字を返します。

    構文
    Left(string, length)

    Right関数

     Right関数は指定した文字列の右から指定数分の文字列を返します。0を指定したら文字列0を返し、指定した文字列数以上の文字列を指定するとすべての文字を返します。

    構文
    Right(string, length)

    Mid関数

     Mid関数は文字列の左から指定した文字数の箇所から、指定した文字数を取り出す関数です。0を指定したら文字列0を返し、指定した文字列数以上の文字列を指定するとすべての文字を返します。

    構文
    Mid(string, start[, length])


    string:指定する。取り出す文字列を指定します。
    start:指定する。文字列を取り出したい開始位置を指定します。
    length:省略可能。取り出したい文字列の長さを指定します。

    ▲TOPへ移動

    文字列の検索

    InStr関数

     InStr関数は文字列の中から指定された文字列を検索し、最初に検索された文字列が先頭から何番目かを返す関数です。指定された文字列が見つからなかったら0を返します。

    構文
    InStr([start, ]string1, string2[, compare])


    start:省略可能。検索開始位置を指定することができます。省略すると先頭から検索します。
    string1:指定する。検索対象になる文字列を指定します。
    string2:指定する。引数string1内の検索する文字列を指定します。
    compare:省略可能。文字列比較の比較モードで検索します。

    比較モード定数一覧
    定数 説明
    vbUseCompareOption -1 Option Compare ステートメントの設定を使用して比較します。
    vbBinaryCompare 0 バイナリ モードで比較します。
    vbTextCompare 1 テキスト モードで比較します。
    vbDatabaseCompare 2 Microsoft Access の場合のみ有効。データベースに格納されている設定に基づいて比較します。

    InStrRev関数

     InstrRev関数は文字列の中から指定された文字列を検索するのですが、Instr関数が前から検索するのに対して、InstrRev関数は後方から検索を開始します。そして検索された文字列の最初の位置を返します。

    構文
    InstrRev(stringcheck, stringmatch[, start[, compare]])


    stringcheck:指定する。検索先の文字列式を指定します。
    stringmatch:指定する。検索する文字列式を指定します。
    start:省略可能。検索する文字列の開始位置を指定します。
    compare:省略可能。文字列式を評価するときに使用する文字列比較のモードを表す数値を指定します。compare を省略すると、バイナリ モードで比較します。

    ・比較モード定数一覧
    定数 説明
    vbUseCompareOption -1 Option Compare ステートメントの設定を使用して比較します。
    vbBinaryCompare 0 バイナリ モードで比較します。
    vbTextCompare 1 テキスト モードで比較します。
    vbDatabaseCompare 2 Microsoft Access の場合のみ有効。データベースに格納されている設定に基づいて比較します。

    ▲TOPへ移動

    文字列操作の関数

    LCase関数、UCase関数

     LCaseアルファベットの大文字を小文字に変換し、UCase関数はアルファベットの小文字を大文字に変換します。

    構文
    LCase(string)
    UCase(string)
    string:変換する文字列を指定します。

    StrConv関数

     StrConv関数は大文字から小文字に、全角から半角にしたり、指定の方法で文字列を変換することができます。

    構文
    StrConv(String, Conversion, LCID)


    String:変換する文字列を指定します。
    Conversion:変換する種類の定数を指定します。
    LCID:「LCID」にはシステムと異なるLCIDを指定します。省略した場合はシステムが使用している「LCID」を使用します。

    定数 内容
    vbUpperCase 1 文字列を大文字に変換します。
    vbLowerCase 2 文字列を小文字に変換します。
    vbProperCase 3 文字列の各単語の先頭の文字を大文字に変換します。
    vbWide 4 文字列内の半角文字を全角文字に変換します。
    vbNarrow 8 文字列内の全角文字を半角文字に変換します。
    vbKatakana 16 文字列内のひらがなをカタカナに変換します。
    vbHiragana 32 文字列内のカタカナをひらがなに変換します。
    vbUnicode 64 システムの既定のコードページを使って文字列をUnicodeに変換します。
    vbFromUnicode 128 文字列をUnicodeからシステムの既定のコードページに変換します。

    ▲TOPへ移動

    文字列の変換

    LTrim関数、RTrim関数、Trim関数

     LTrim関数は文字列の先頭のスペースを削除します。RTrim関数は文字列の一番後ろのスペースを削除します。Trim関数は文字列の先頭と一番後ろの両方のスペースを削除します。スペースは半角/全角どちらも削除することができます。

    構文
    LTrim(string)
    RTrim(string)
    Trim(string)
    String:スペースを削除する文字列を指定します。

    Replace関数

     指定された文字列を指定した文字列内で検索し、見つかった場合は指定した文字列に置き換えます。引数Countで置き換える回数を指定します。

    構文
    Replace(Expression, Find, Replace, Start, Count, Compare)


    Expression:指定すること。置換する文字列を含む文字列式 を指定する。
    Find:指定すること。検索する文字列を指定する。
    Replace:指定すること。置換する文字列を指定する。
    Start:省略可能。検索開始位置を指定する。
    Count:省略可能。置き換えする文字列数を指定する。
    Compare:省略可能。文字列式を評価するときに文字列比較のモードを指定する。

    定数 説明
    vbUseCompareOption -1 Option Compare ステートメントの設定を使用して比較を行う。
    vbBinaryCompare 0 バイナリ モードで比較を行う。
    vbTextCompare 1 テキスト モードで比較を行う。
    vbDatabaseCompare 2 Microsoft Access の場合のみ有効。データベースに格納されている設定に基づいて比較を行う。

    ▲TOPへ移動

    文字列の比較

    StrComp関数

     string1およびstring2で指定した2つの文字列を比較します。比較モードを変更することによってアルファベットの大文字・小文字を区別するかどうかを選択することができます。

    構文
    StrComp(string1,string2[,compare])


    string1:任意の文字列を指定。
    string2:任意の文字列を指定。
    compare:文字列の比較方法を選択する。省略可。

    定数 内容
    vBuseCompareOption -1 Option Compareステートメントの設定を使用して比較を行います。既定値。
    vbBinaryCompare 0 バイナリモードで比較をします
    vbTextCompare 1 テキストモードで比較します。大文字と小文字の区別をしません
    vbDatabaseCompare 2 Microsoft Accessでのみ使用可能。

    ▲TOPへ移動

    その他の関数

    StrReverse関数

     指定した文字列を逆に返します。

    構文
    StrReverse(expression)


    expression:文字列を指定します。

    Space関数

     指定した数の半角スペースを返します。

    構文
    Space(num)


    num:半角スペースの数量を入力します。

    String関数

     String関数はしていした文字コードおよび、指定した文字列の先頭文字を任意の数だけ並べた文字列を返します。

    構文
    String(num,character)


    num:並べる回数を指定。
    character:文字列および、文字コードを入力。

    Asc関数

     Asc関数は指定した文字列内にある先頭の文字の文字コードを整数型で返します。

    構文
    Asc(string)


    string:文字列を入力する。

    Chr関数

     Chr関数は指定した文字コードに対する文字列を文字列型で返します。 ASCIIコードの0〜31の範囲の文字は表示できません。通常、引数numは0〜255までの値を指定します。

    構文
    Chr(num)


    num:文字を特定するためのコードを指定する。

    よく利用される制御文字と文字コード
    制御文字 文字コード
    タブ 9
    ラインフィード 10
    キャリッジリターン 13


    VBA関数(日付・時刻に関する関数)  エクセル職人  

    ▲TOPへ移動