PR
スポンサーリンク

【ExcelVBA】全角⇔半角、大文字⇔小文字の変換(StrConv関数)

スポンサーリンク
ExcelVBA-StrConv関数-アイキャッチ 関数
スポンサーリンク
スポンサーリンク
スポンサーリンク

StrConv関数の使い方

StrConv関数は文字列を小文字⇔大文字の変換、半角⇔全角の変換、カタカナ⇔ひらがなの変換などを行う関数です。

StrConv(文字列,変換の種類

主な定数は↓の通りです。「変換の種類」のところに定数または値を指定します。
値の番号を指定しても大丈夫ですが、定数で指定した方が後で分かりやすいので良いと思います。

定数内容
vbUpperCase1文字列を大文字に変換する
vbLowerCase2文字列を小文字に変換する
vbProperCase3文字列の先頭の文字を大文字に変換する
vbWide4文字列を半角⇒全角に変換する
vbNarrow8文字列を全角⇒半角に変換する
vbKatakana16文字列をひらがな⇒カタカナに変換する
vbHiragana32文字列をカタカナ⇒ひらがなに変換する

↓ではそれぞれの使い方をサンプルマクロを使ってご説明します。

スポンサーリンク

大文字⇔小文字に変換、1文字目だけ大文字に変換

大文字⇔小文字の変換、先頭文字だけ大文字に変換する例です。

A列に文字をセットしておき、マクロを実行するとB列に値が出力されます。

2行目は小文字から大文字の変換(vbUpperCase
5行目は大文字から小文字の変換(vbLowerCase
8行目は全部小文字から先頭だけ大文字に変換(vbProperCase

ExcelVBA-大文字から小文字に変換
Sub sample1()

    With Worksheets("Sheet1")
    
        '小文字から大文字に変換
        .Range("B2") = StrConv(.Range("A2"), vbUpperCase)
    
        '大文字から小文字に変換
        .Range("B5") = StrConv(.Range("A5"), vbLowerCase)

        '先頭だけ大文字に変換
        .Range("B8") = StrConv(.Range("A8"), vbProperCase)
    
    End With

End Sub
スポンサーリンク

半角⇔全角に変換

半角⇔全角に変換する例です。
A列に文字をセットしておき、マクロを実行するとB列に値が出力されます。

2行目は半角から全角に変換(vbWide
5行目は全角から半角に変換(vbNarrow

ExcelVBA-半角から全角に変換
Sub sample2()

    With Worksheets("Sheet2")
        
        '半角から全角に変換
        .Range("B2") = StrConv(.Range("A2"), vbWide)
        
        '全角から半角に変換
        .Range("B5") = StrConv(.Range("A5"), vbNarrow)
    
    End With

End Sub
スポンサーリンク

ひらがな⇔カタカナに変換

ひらがな⇔カタカナに変換する例です。
A列に文字をセットしておき、マクロを実行するとB列に値が出力されます。

2行目はひらがな⇒カタカナに変換(vbKatakana
5行目はカタカナ⇒ひらがなに変換(vbHiragana

ExcelVBA-ひらがなからカタカナに変換
Sub sample3()

    With Worksheets("Sheet3")
        
        'ひらがな⇒カタカナに変換
        .Range("B2") = StrConv(.Range("A2"), vbKatakana)
        
        'カタカナ⇒ひらがなに変換
        .Range("B5") = StrConv(.Range("A5"), vbHiragana)
    
    End With

End Sub
スポンサーリンク

※コードのコピー利用について

・コードのコピーは自由におこなっていただけます。
・気を付けて作成はしていますがコードには誤りがある可能性があります。
・自身の環境で動作確認をしていますが、すべての方の環境で同様に動くことは保証できません。
・データの破損等の責任は負いかねますのでご自身の責任のもとお使いください。
・記事の内容は適宜変更することがありますのでご了承ください。

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