サイトについて      連絡先   検索

VBA StrConv 関数

はじめに

Excel VBA マクロの StrConv 関数を紹介します。

StrConv 関数は、文字種を変換して返します。

文字列を大文字、小文字、全角、半角、ひらがな、カタカナなどに変換したいときなどに使用します。

  • 目次
    • 構文
    • 解説
    • 使用例

構文

StrConv(文字列, 文字種)
文字列を指定した文字種に変換します。

引数「文字列」文字列を指定します。
引数「文字種」変換する文字種を組み合わせて指定します。
戻り値の型文字列型 (String)

引数「文字種」の値

名前 変換
vbUpperCase1大文字に変換します。
vbLowerCase2小文字に変換します。
vbProperCase3各単語の先頭の文字を大文字に変換します。
vbWide4半角文字を全角文字に変換します。
vbNarrow8全角文字を半角文字に変換します。
vbKatakana16ひらがなをカタカナに変換します。
vbHiragana32カタカナをひらがなに変換します。
vbUnicode64システムの既定のコード ページを使って Unicode に変換します。
vbFromUnicode128Unicode からシステムの既定のコード ページ (Shift_JIS) に変換します。

解説

引数「文字列」に変換されるものがないときは、そのまま返します。

引数「文字種」にvbUpperCase Or vbWideのようにOrを使用して複数の変換を一度にできます。

vbKatakanavbHiraganaのように組み合わせられないときはエラーが発生します。

LenB 関数を使用すると、VBA の文字コードは Unicode なので、すべての 1 文字が 2 バイトになります。これを半角文字だけ 1 バイトとする Shift_JIS にするにはvbFromUnicodeを使用して変換します。

使用例


Dim s As String

s = StrConv("abc", vbUpperCase)
Debug.Print(s) ' ABC

s = StrConv("ABC", vbLowerCase)
Debug.Print(s) ' abc

s = StrConv("abc def ghi", vbProperCase)
Debug.Print(s) ' Abc Def Ghi

s = StrConv("ABC", vbWide)
Debug.Print(s) ' ABC

s = StrConv("abc", vbUpperCase Or vbWide) ' 大文字と全角にする
Debug.Print(s) ' ABC  

s = StrConv("ABC", vbLowerCase + vbNarrow) ' 小文字と半角にする
Debug.Print(s) ' abc

半角文字を 1 バイトとして取得する。


Dim i As Integer

i = LenB(StrConv("ABC", vbFromUnicode))
Debug.Print(i) ' 3

i = LenB(StrConv("ABC", vbFromUnicode))
Debug.Print(i) ' 6
  • 目次
    • 構文
    • 解説
    • 使用例