Categories: VBA基礎

EXCEL VBA StrConvの使い方(半角・全角・カタカナ・ひらがなの変換)

EXCEL VBA StrConvの使い方 (半角・全角・カタカナ・ひらがなの変換)

 

●はじめに
ここでは、文字の変換(StrConv)の使い方を説明します。文字変換の種類は、「大文字⇔小文字・カタカナ⇔ひらがな・・・」など、さまざまな形に変換します。具体的には、下表に一覧表示されていますので、参考にして下さい。この機能については、列毎に統一したデータを揃える場合に利用すると便利な機能です。

 

●書式の説明
StrConv(文字列,変換方法

 

変換方法変換内容変換例サンプル記述
Range("A1") = StrConv(Range("B1"),変換方法)
vbUpperCase大文字に変換[a]が[A] に変換StrConv(Range("B1"),vbUpperCase)
vbLowerCase小文字に変換[A]が[a] に変換StrConv(Range("B1"),vbLowerCase)
vbProperCase先頭文字を大文字に変換(単語)[apple]が[Apple]に変換StrConv(Range("B1"),vbProperCase)
vbWide半角文字を全角文字に変換[アイウエオ]が[アイウエオ]に変換StrConv(Range("B1"),vbWide)
vbNarrow全角文字を半角文字へ変換[アイウエオ]が[アイウエオ]に変換StrConv(Range("B1"),vbNarrow)
vbKatakanaひらがなをカタカナに変換[あいうえお]が[アイウエオ]に変換StrConv(Range("B1"),vbKatakana)
vbHiraganaカタカナをひらがなに変換[アイウエオ]が[あいうえお]に変換StrConv(Range("B1"),vbHiragana)

 

vbUpperCaseの使い方(小文字から大文字に変換)

 

●プログラム説明
下記のプログラムは、StrConv(vbUpperCase)の使い方です。小文字から大文字に変換するプログラムです。

 

Sub StrConv_Omoji() '大文字に変換

    Dim MojiEX As Range
    
    For Each MojiEX In Range("A2:A10") '範囲を指定する
        MojiEX.Value = StrConv(MojiEX, vbUpperCase)  '小文字から大文字に変換する。
    Next MojiEX

End Sub

 

●実行結果
小文字のローマ字が大文字に変換されました。

 

●実行前 ※(クリックして拡大)

 

●実行後 ※(クリックして拡大)

 

 

vbLowerCaseの使い方(大文字から小文字に変換)

 

●プログラム説明
下記のプログラムは、StrConv(vbLowerCase)の使い方です。小文字から大文字に変換するプログラムです。

 

Sub StrConv_Komoji() '小文字に変換

    Dim MojiEX As Range
        
    For Each MojiEX In Range("A2:A10") '範囲を指定する
        MojiEX.Value = StrConv(MojiEX, vbLowerCase)  '大文字から小文字に変換する。
    Next MojiEX

End Sub

 

●実行結果
大文字のローマ字が小文字に変換されました。

 

●実行前 ※A列に大文字のローマ字が表示さてれています。(クリックして拡大)

 

●実行後 ※A列の大文字が小文字に変換され表示されました。(クリックして拡大)

 

 

vbProperCaseの使い方(先頭文字を大文字に変換)

 

●プログラム説明
下記のプログラムは、StrConv(vbProperCase)の使い方です。先頭文字を大文字に変換するプログラムです。

 

Sub StrConv_Sentou() '先頭文字を大文字に変換

    Dim MojiEX As Range
        
    For Each MojiEX In Range("A2:A10")  '範囲を指定する
        MojiEX.Value = StrConv(MojiEX, vbProperCase)  '先頭文字を大文字に変換
    Next MojiEX

End Sub

 

●実行結果
実行後、先頭文字が大文字に変換されました。

 

●実行前 ※A列の文字が全て小文字表示されています。(クリックして拡大)

 

●実行後 ※A列の文字列の先頭が大文字に変換されました。 単語ごとに先頭文字が大文字になります。(クリックして拡大)

 

 

vbWideの使い方(半角文字を全角文字に変換)

 

●プログラム説明
下記のプログラムは、StrConv(vbWide)の使い方です。半角文字から全角文字に変換するプログラムです。

 

Sub StrConv_Zenkaku() '半角文字⇒全角文字に変換

    Dim MojiEX As Range
        
    For Each MojiEX In Range("A2:A10")  '範囲を指定する
        MojiEX.Value = StrConv(MojiEX, vbWide)  '半角文字⇒全角文字に変換
    Next MojiEX

End Sub

 

●実行結果
実行後、半角文字が全角文字に変換されました。

 

●実行前 ※A列に半角字表示されている名前があります。(クリックして拡大)

 

●実行後 ※A列の半角文字表示されている名前が全角表示されました。(クリックして拡大)

 

 

vbNarrowの使い方(全角文字を小文字に変換)

 

●プログラム説明
下記のプログラムは、StrConv(vbNarrow)の使い方です。全角文字から半角文字に変換するプログラムです。

 

Sub StrConv_Hankaku() '全角文字⇒半角文字に変換

    Dim MojiEX As Range
        
    For Each MojiEX In Range("A2:A10")  '範囲を指定する
        MojiEX.Value = StrConv(MojiEX, vbNarrow)  '全角文字⇒半角文字に変換
    Next MojiEX

End Sub

 

●実行結果
実行後、全角文字が半角文字に変換されました。

 

●実行前 ※A列に全角字表示されている名前があります。(クリックして拡大)

 

●実行後 ※A列の全角文字表示されている名前が半角表示されました。(クリックして拡大)

 

 

vbKatakanaの使い方(ひらがな文字をカナ文字に変換)

 

●プログラム説明
下記のプログラムは、StrConv(vbKatakana)の使い方です。ひらがな文字をカナ文字に変換するプログラムです。

 

Sub StrConv_Kakana() 'ひらがな文字⇒カタカナ文字に変換

    Dim MojiEX As Range
        
    For Each MojiEX In Range("A2:A10")  '範囲を指定する
        MojiEX.Value = StrConv(MojiEX, vbKatakana)  'ひらがな文字⇒カタカナ文字に変換
    Next MojiEX

End Sub

 

●実行結果
実行後、ひらがな文字がカナ文字に変換されました。

 

●実行前 ※A列にひらがなの名前が表示されています。(クリックして拡大)

 

●実行後 ※A列にひらがなで名前表示されている名前がカタカナに変換されました。(クリックして拡大)

 

 

vbHiraganaの使い方(カタカナ文字をひらがな文字に変換)

 

●プログラム説明
下記のプログラムは、StrConv(vbHiragana)の使い方です。カタカナ文字をひらがな文字に変換するプログラムです。

 

Sub StrConv_Hiragana() 'カタカナ文字⇒ひらがな文字に変換

    Dim MojiEX As Range
        
    For Each MojiEX In Range("B2:B10")  '範囲を指定する
        MojiEX.Value = StrConv(MojiEX, vbHiragana)  'カタカナ文字⇒ひらがな文字に変換
    Next MojiEX

End Sub

 

●実行結果
実行後、カタカナ文字がひらがな文字に変換されました。

 

●実行前 ※A列にカタカナの名前が表示されています。(クリックして拡大)

 

●実行後 ※A列にカタカナで名前表示されている名前がひらがなに変換されました。(クリックして拡大)

 

最後まで、ご覧いただきまして誠に有難うございました。
以上で、EXCEL VBAの文字変換(StrConv)の使い方でした。例として「全角・ひらがな」から「半角・カタカナ」など同時に変換もできるので、色々使い分けて利用して下さい。
また、VBAに関するテクニックや便利な手法などをこのサイトに掲載していきますので、定期的に参照していただけると幸いです。

 

AKIRA