文字列操作関数2 Len,Lcase,UCase

目次

VBA関数について

VBAで使う関数って何?よくわかんない!

関数は実務でもたくさん使うんだ!一つずつ覚えていこうね!

関数は決まった計算や処理を行う命令になります。実務を行う上でも関数はよく使います。

マクロ記録機能では関数は記録されないため、一つずつ覚えていきましょう。

今日も文字列を操作する関数の動きを勉強しましょう。

今日使う実例はこちらになります

Sub MOJIRETSU2()

    Dim Moji As String
    Dim KoMoji As String
    
    
    Moji = "ABCDEFGHIJ"

    KoMoji = "abcdefghij"

    MsgBox Len(Moji)

    MsgBox LCase(Moji)

    MsgBox UCase(KoMoji)
    

End Sub

Len関数

Len関数は引数に指定した文字列の長さ(文字数)を返します。半角文字と全角文字は区別しません。

Len関数の書式は下記になります。

Len(文字列)

実例は変数Moji “ABCDEFGHIJ”を引数に指定することで、文字数10が返ってきます。

 MsgBox Len(Moji)

Len関数の引数に直接数値を指定するとエラーになるため注意しましょう。

LCase関数

LCase関数は引数に指定したアルファベットを小文字にします。

LCase関数の書式は下記になります。

LCase(文字列)

実例は変数Moji “ABCDEFGHIJ”を引数に指定することで、小文字となった”abcdefghij”を返しています。

MsgBox LCase(Moji)

UCase関数

UCase関数は引数に指定したアルファベットを大文字にします。

UCase関数の書式は下記になります。

UCase(文字列)

実例は変数KoMoji “abcdefghij”を引数に指定することで、大文字となった”ABCDEFGHIJ”を返しています。

MsgBox UCase(KoMoji)

おまけ

UCase関数を使った具体的な例を一つ示したいと思います。

例えば、下記A1セルとA2セルにそれぞれ値があるとします。

大文字と小文字を区別したくないときでもそのままIf文で比較すると同じ値とみなされません。

If Cells(1,1) = Cells(2,1) then

    MsgBox "A1セルとA2セルは同じです"

End If

上記If文はTrueと判定されずMsgBoxは処理されず、空振りに終わります。

そこで下記のようにUCase関数を使い大文字に変換した上で比較することで無事に大文字と小文字を区別せずに判定することができます。

If Ucase(Cells(1,1)) = UCase(Cells(2,1)) then

    MsgBox "A1セルとA2セルは同じです"

End If

まとめ

今日は文字列操作関数の基本となるLen,LCase,UCase関数の用法を勉強しました。

次回は他の文字列操作関数も学んでいきましょう。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!

この記事を書いた人

ものおと申します。

10年以上の大手メーカー勤務経験のあるエンジニアです。

これまでのものづくりの経験から小学生にも伝わるExcel VBAお役立ち記事を発信していきたいと思います。

よろしくお願いします。

コメント

コメントする

CAPTCHA


目次