【ExcelVBA・マクロ】StrConv関数の使い方|全角・半角変換や大文字小文字変換を完全解説【コピペOK】

StrConv関数の使い方 ExcelVBA

VBAで文字列を扱っていると、次のようなことはありませんか?

  • 全角を半角へ変換したい
  • ひらがな・カタカナを変換したい
  • 英字の大文字・小文字を変換したい

このような場合は、StrConv関数を使うことで解決できます。
文字列の形式を変換できる、非常に便利な関数です。

この記事では、StrConv関数の基本から実務での活用方法まで分かりやすく解説します。


スポンサーリンク
スポンサーリンク

この記事でできること

  • 全角・半角変換ができる
  • ひらがな・カタカナ変換ができる
  • 大文字・小文字変換ができる

StrConv関数とは?

StrConv関数は、文字列の形式を変換する関数です。

例えば:

  • 全角 → 半角
  • ひらがな → カタカナ
  • 小文字 → 大文字

などの変換ができます。


基本:StrConv関数の使い方

基本構文はこちらです。

StrConv(文字列, 変換定数)

主な変換定数一覧

定数内容
vbUpperCase大文字へ変換
vbLowerCase小文字へ変換
vbWide全角へ変換
vbNarrow半角へ変換
vbKatakanaカタカナへ変換
vbHiraganaひらがなへ変換

大文字へ変換する

MsgBox StrConv("excel vba", vbUpperCase)

→ EXCEL VBA


小文字へ変換する

MsgBox StrConv("EXCEL VBA", vbLowerCase)

→ excel vba


全角へ変換する

MsgBox StrConv("ABC123", vbWide)

→ ABC123


半角へ変換する

MsgBox StrConv("ABC123", vbNarrow)

→ ABC123


ひらがな → カタカナ

MsgBox StrConv("あいうえお", vbKatakana)

→ アイウエオ


カタカナ → ひらがな

MsgBox StrConv("アイウエオ", vbHiragana)

→ あいうえお


セルの値を変換する

Range("A1").Value = StrConv(Range("A1").Value, vbNarrow)

セルの文字を半角へ変換します。


複数変換を組み合わせる

定数を足して使えます。

MsgBox StrConv("abc123", vbUpperCase + vbWide)

→ ABC123


実務での活用例

  • 入力データ統一
  • CSVデータ整形
  • 住所データ変換
  • 検索精度向上

データ整形では非常によく使われます。


注意点

① 環境依存がある

日本語変換系はWindows環境依存があります。


② 数値型には使用しない

文字列として扱う必要があります。


③ Nullに注意

Nullはエラーになります。


安全な書き方(おすすめ)

Dim val As Variant

val = Range("A1").Value

If Not IsNull(val) Then
    MsgBox StrConv(val, vbNarrow)
End If

よくあるエラーと対処法

① 変換されない

変換定数が正しいか確認してください。

② 型が一致しません

Nullや数値型の可能性があります。

③ 日本語変換でエラー

環境依存の可能性があります。

④ コードは正しいのにエラーになる

コピー時に全角文字や特殊文字が混ざることがあります。
その場合は該当行を手入力し直すと解決することがあります。


まとめ

  • StrConvは文字列変換を行う関数
  • 全角・半角変換が可能
  • ひらがな・カタカナ変換にも対応
  • データ整形で非常に便利

StrConv関数を使いこなせるようになると、文字列整形やデータ統一が非常に楽になります。
実務ではかなり便利なので、ぜひマスターしておきましょう。

スポンサーリンク
スポンサーリンク
ExcelVBA
いがぴをフォローする

コメント

タイトルとURLをコピーしました