Excel VBAの「StrReverse 関数」について解説します。
StrReverse 関数とは
Excel VBA の StrReverse 関数は、指定した文字列の文字の並びを逆順に並べた文字列にして返します。
StrReverse 関数(Visual Basic for Applications リファレンス)
構文(引数と戻り値)
Excel VBAの関数を使いこなすには、関数の構文を正しく理解しておくことが重要です。
構文
StrReverse(expression)
引数
引数 | 説明 |
---|---|
expression | 【必須】文字を反転させる文字列(式)を指定します |
戻り値
StrReverse 関数の戻り値は次のとおりです。
戻り値 | 説明 |
---|---|
文字列 | expression 指定文字列の並びを反転させた文字列 |
解説(使用例)
簡単なサンプルコードを作成して使用例を解説します。
StrReverse 関数 サンプル
次の例は、StrReverse 関数の動作がわかる簡単なサンプルです。アルファベットなどの文字列を逆順に表示します。
'■StrReverse関数で文字列を反転させる
Sub StrReverse_Sample01()
Dim str As String
str = StrReverse("くるみこ")
Debug.Print str 'こみるく
str = StrReverse("kurumico")
Debug.Print str 'ocimuruk
str = StrReverse("1234567890")
Debug.Print str '0987654321
str = StrReverse("ABCDEFGHRJKLMNOPQRSTUVWXYZ")
Debug.Print str 'ZYXWVUTSRQPONMLKJRHGFEDCBA
End Sub
実行結果の イミディエイト 画像がこちらです。
▼4種類の文字列を反転する例です。
・5行目、ひらがなの文字列「くるみこ」を StrReverse 関数で逆順にします。
・7行目で「くるみこ」が反転した「こみるく」と表示されました。
・8行目、文字列「kurumico」を StrReverse 関数で逆順にします。
・9行目で「kurumico」が反転した「ocimuruk」と表示されました。
・11行目、数字の文字列「1234567890」を StrReverse 関数で逆順にします。
・12行目で「1234567890」が反転した「0987654321」と表示されました。
・8行目、アルファベット「ABCDEFGHIJKLMNOPQRSTUVWXYZ」を逆順にします。
・9行目で、反転した「ZYXWVUTSRQPONMLKJRHGFEDCBA」が表示されました。
文字列が「回文」かどうかを判定する
サンプルをもう一つ紹介します。
'■StrReverse関数で文字列が回文かどうかを判定する
Sub StrReverse_Sample02()
Dim str As String
str = InputBox("文字列を入力してください", "回文判定")
'▼元の文字列と反転文字列を比較判定
If str = StrReverse(str) Then
MsgBox "「" & str & "」は回文です"
Else
MsgBox "「" & str & "」は回文ではありません!" & _
vbCrLf & "「" & StrReverse(str) & "」が反転文字列です"
End If
End Sub
If str = StrReverse(str) Then … End If で「元の文字列」と「反転文字列」が同一かどうか判定して分岐処理するだけの簡単なサンプルコードです。
InputBox で文字列を入力する設定ですが、Application.InputBox を使えば、セル選択で文字列を取得するようにも変更できます。
おわりに
VBAの関数一覧はこちらです。
VBAサンプルファイルダウンロードページのご案内
このページで使用したサンプルファイルの登録はありません(^^;
ページ内のコードをコピーしてご利用ください。
ダウンロードページへのリンクは下のカードクリックでジャンプできます。
よろしければご利用ください!
Excel VBA StrReverse 関数で、指定した文字列の文字の並びを逆順に並べた文字列で返す方法について解説しました。
「文字列が「回文」かどうかを判定する」サンプルを紹介しましたが、他の使いどころがあまり思いつきません。でも、例えば次のようなことには使えるかもしれませんね。
などなど、いずれにしても、他の関数やステートメントを組み合わせることで、使いどころも増えていくのではないでしょうか。
以上、この解説が少しでもみなさまのお役に立てたなら幸いです(^^;