VBAで文字列を扱っていると、次のようなことはありませんか?
- 英字をすべて小文字に統一したい
- 大文字・小文字を区別せずに比較したい
- データを整形したい
このような場合は、LCase関数を使うことで解決できます。
文字列をすべて小文字に変換できる、シンプルで便利な関数です。
この記事では、LCase関数の基本から実務での活用方法まで分かりやすく解説します。
この記事でできること
- 文字列を小文字に変換できる
- 比較処理を安定させられる
- データ整形ができる
基本:LCase関数の使い方
基本構文はこちらです。
LCase(文字列)
例:
MsgBox LCase("ABC")
→ abc
LCase関数の特徴
- 英字をすべて小文字に変換
- 日本語や数字はそのまま
基本例
Dim str As String
str = "Hello VBA"
MsgBox LCase(str)
→ hello vba
セルの値を小文字に変換
Range("A1").Value = LCase(Range("A1").Value)
セルの内容をそのまま小文字にできます。
大文字・小文字を区別しない比較(重要)
比較前に小文字化すると安全です。
If LCase("ABC") = LCase("abc") Then
MsgBox "一致しています"
End If
→ True(区別しない比較)
入力チェックで使う
Dim val As String
val = InputBox("YESと入力してください")
If LCase(val) = "yes" Then
MsgBox "OK"
End If
大文字・小文字の違いを無視できます。
UCaseとの違い
| 関数 | 動作 |
|---|---|
| LCase | 小文字に変換 |
| UCase | 大文字に変換 |
実務での活用例
- 入力値の正規化
- 検索・比較処理
- データ整形
- CSVデータの統一
特に「比較処理」でよく使われます。
注意点
① 日本語は変換されない
英字のみ対象です。
② Nullに注意
LCase(Null)
→ エラーになるため事前チェックが必要です。
安全な書き方(おすすめ)
Dim val As Variant
val = Range("A1").Value
If Not IsNull(val) Then
MsgBox LCase(val)
End If
よくあるエラーと対処法
① 変換されない
日本語や数字の可能性があります。
② Nullでエラーになる
IsNullで事前チェックしてください。
③ コードは正しいのにエラーになる
コピー時に全角文字や特殊文字が混ざることがあります。
その場合は該当行を手入力し直すと解決することがあります。
まとめ
- LCaseは文字列を小文字に変換する関数
- 比較処理で非常に便利
- 日本語は変換されない
- 入力チェック・データ整形で活躍
LCase関数を使いこなせるようになると、文字列処理の精度と安定性が向上します。
特に比較処理では必須なので、ぜひ活用してみてください。


コメント