【VBA】文字列変換関数StrConvの使い方

エクセルVBAで使うコードの備忘録。文字列を変換する関数であるStrConvの使い方について。

スポンサーリンク

関数の説明

StrConvは与えられた文字列を指定した形式に変換する関数です。

構文

StrConv("[変換する文字列]", [変換タイプ])

変換タイプとしては数字を指定しますが、わかりやすい次のような定数があらかじめ用意されているのでこちらを使用するとよいです。

  • vbUpperCase: アルファベットを全て大文字に変換
  • vbLowerCase: アルファベットを全て小文字に変換
  • vbProperCase: 与えた文字列の各単語の冒頭のみを大文字に変換
  • vbWide: 半角文字を全て全角文字に変換
  • vbNarrow: 全角文字を全て半角文字に変換
  • vbKatakana: ひらがなをカタカナに変換
  • vbHiragana: カタカナをひらがなに変換
  • vbUnicode: 文字列をUnicodeに変換
  • vbFromUnicode: 文字列をUnicodeからシステム既定のコードに変換

サンプル

下記のサンプルでは、StrConvにそれぞれの引数を与えた倍の入力と出力の結果を記載しています。入力された文字列を一括で変換したりする際、全角半角の違いをクリーニングする用途などに使うことが多いと思われます。

サンプルコード

Public Sub SampleStrConv()
    
    '--- 変換前後の文字列を格納する変数 ---'
    Dim strIn As String
    Dim strOut As String
    
    '--- 大文字に変換 ---'
    strIn = "abcde"
    strOut = StrConv(strIn, vbUpperCase)    'ABCDE
    
    '--- 小文字に変換 ---'
    strIn = "ABCDE"
    strOut = StrConv(strIn, vbLowerCase)    'abcde
    
    '--- 各単語の冒頭のみを大文字に変換 ---'
    strIn = "i have a pen."
    strOut = StrConv(strIn, vbProperCase)   'I Have A Pen.
    
    '--- 全角に変換 ---'
    strIn = "ABC123"
    strOut = StrConv(strIn, vbWide)         'ABC123(全角)
    
    '--- 半角に変換 ---'
    strIn = "アイウ"
    strOut = StrConv(strIn, vbNarrow)       'アイウ(半角)
    
    '--- ひらがなをカタカナに変換 ---'
    strIn = "あいうえお"
    strOut = StrConv(strIn, vbKatakana)    'アイウエオ
    
    '--- カタカナをひらがなに変換 ---'
    strIn = "アイウエオ"
    strOut = StrConv(strIn, vbHiragana)    'あいうえお
    
End Sub