見出し画像

【Day39】文系オタクのエンジニア道~関数②文字列Part1~

こんにちは
安田です

頭を使うと糖分がほしくなりますね
甘いものが食べたい今日このごろ
早速やっていきましょう!

文字列の関数・・・
参考書を見てたら結構な量があったので
いくつかに分けてまとめていきます


Len関数

引数に指定した文字列の文字数(長さ)を返す

実際にこんな感じです

Sub test()
    Range("A2").Value = Len(Range("A1").Value)
End Sub
数えてみると10文字あります

※注意点
Len関数の引数に直接数値を入力するとエラーになります

Sub test1()
    MsgBox Len(2024)
End Sub

数値が入力されているセル
数値が格納されている変数を引数に設定

数値の桁数を返してくれます

VBAが自動的に引数の数値を文字列に
変換してくれるからです

Sub test2()
    Dim N As String
    N = 19901220
    MsgBox Len(N)
End Sub
Nに入力されている数値の数を返してくれます

Left関数、Right関数、Mid関数

Left関数→引数に指定した文字列の左端から指定した文字数分の文字列を返す
Left(文字列, 文字数)

Right関数→引数に指定した文字列の右端から指定した文字数分の文字列を返す
Right(文字列, 文字数)

Mid関数→引数に指定した文字列のうち、開始位置で指定した位置から、文字数で指定した文字数分の文字列を返す
Mid(文字列, 開始位置, 文字数)

※Mid関数は引数「文字数」を省略すると
引数「開始位置」から後ろ全部を返す

Sub test3()
    MsgBox Left(Range("A1"), 4)
End Sub

LCase関数、UCase関数

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

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

Sub test4()
    Range("A4").Value = UCase(Range("A3").Value)
End Sub
小文字で入力していた内容が大文字になりました

まとめ

LCase、UCase関数はVBA特有なものかなと感じました

調べてみたら
エクセルの関数は別でありました

馴染みがあるものが多くて、頭に入りやすかったです

参考文献

VBAマスターに俺はなる

最後まで読んでいただき
ありがとうございます
安田

マガジンにまとめてありますので
よかったらそちらも御覧ください


この記事が気に入ったらサポートをしてみませんか?