教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について説明していきます。

【ExcelVBA プログラミング】(関数28)StrConv関数のプログラミング例を教えて!

       f:id:m_kbou:20201014082825p:plain

StrConv関数を使用したプログラミング例を紹介します。

 

【目次】

 

例題

例題は、<実行>ボタンをクリックすると、変換前に入力されている文字列を変換方法に記述されている内容(文字列を小文字変換・文字列を大文字変換・ひらがなをカタカナに変換・カタカナをひらがなに変換・単語の先頭文字を大文字に変換・それ以外)で変換し、変換後に表示するプログラミング方法です。

[実行前]:

f:id:m_kbou:20201014082844p:plain

[実行後]:

f:id:m_kbou:20201014082857p:plain

※7行目~11行目の変換については、変換前の文字列が漢字であるため、いずれの変換方法でも変換ができない事から、変換前の文字列を変換後にそのままセットする形となります。

 

プログラミング

プログラミングは以下の通りとなります。

[記述例]:

※以下の記述例は、VBE(VBA記述画面)に記述しないと実行ができません。VBEの開き方については、VBEの開き方を参考にして下さい。また、ボタンにプログラム内容を割り当てるには、VBAをボタンに割り当てるを参考にして下さい。

-------------------------------------------------

Sub サンプル()

    Dim 行 As Double
   
    For 行 = 2 To 11
        Select Case Range("A" & 行)
            Case "文字列を小文字変換"
                Range("C" & 行) = StrConv(Range("B" & 行), vbLowerCase)
            Case "文字列を大文字変換"
                Range("C" & 行) = StrConv(Range("B" & 行), vbUpperCase)
            Case "ひらがなをカタカナに変換"
                Range("C" & 行) = StrConv(Range("B" & 行), vbKatakana)
            Case "カタカナをひらがなに変換"
                Range("C" & 行) = StrConv(Range("B" & 行), vbHiragana)
            Case "単語の先頭文字を大文字に変換"
                Range("C" & 行) = StrConv(Range("B" & 行), vbProperCase)
            Case Else
                Range("C" & 行) = Range("B" & 行)
        End Select
    Next
   
End Sub

 

-------------------------------------------------

内容を説明すると、

StrConv関数を使用して変換前(B列セル)に入力されている文字列を変換方法(A列セル)に記述されている内容(文字列を小文字変換・文字列を大文字変換・ひらがなをカタカナに変換・カタカナをひらがなに変換・単語の先頭文字を大文字に変換・それ以外)で変換し、変換後(C列セル)に表示して下さい。

との意味になります。

 

ダウンロード

上記サンプルプログラムを使用したい場合は、こちらからダウンロードして下さい。

1drv.ms