VBAで文字列を扱っていると、次のようなことはありませんか?
- 文字列を逆順に並べたい
- 回文チェックをしたい
- 文字列を後ろから処理したい
このような場合は、StrReverse関数を使うことで解決できます。
文字列を簡単に逆順へ変換できる便利な関数です。
この記事では、StrReverse関数の基本から実務での活用方法まで分かりやすく解説します。
この記事でできること
- 文字列を逆順にできる
- 文字列加工ができる
- 実務で使える応用例が分かる
StrReverse関数とは?
StrReverse関数は、文字列の並び順を逆にする関数です。
例えば:
ABCDEF → FEDCBA
のように変換できます。
基本:StrReverse関数の使い方
基本構文はこちらです。
StrReverse(文字列)
基本例
MsgBox StrReverse("ABCDE")
→ EDCBA
変数を使った例
Dim str As String
str = "ExcelVBA"
MsgBox StrReverse(str)
→ ABVlecxE
セルの値を逆順にする
Range("B1").Value = StrReverse(Range("A1").Value)
A1の文字列を逆順にしてB1へ出力します。
回文チェックをする
回文(前から読んでも後ろから読んでも同じ)を判定できます。
Dim str As String
str = "level"
If str = StrReverse(str) Then
MsgBox "回文です"
Else
MsgBox "回文ではありません"
End If
文字列比較で使う
Dim str1 As String
Dim str2 As String
str1 = "ABC"
str2 = "CBA"
If StrReverse(str1) = str2 Then
MsgBox "一致"
End If
ファイル名処理で使う
末尾から検索したい場合に便利です。
Dim fileName As String
fileName = "sample.xlsx"
MsgBox StrReverse(fileName)
→ xslx.elpmas
実務での活用例
- 回文チェック
- 文字列加工
- 後方検索処理
- データ変換
特殊な文字列処理で役立ちます。
注意点
① 日本語も逆順になる
MsgBox StrReverse("あいうえお")
→ おえういあ
② Nullに注意
Nullはエラーになります。
③ 文字単位で逆順になる
単語単位ではありません。
Right・Leftとの違い
| 関数 | 内容 |
|---|---|
| Left | 左側取得 |
| Right | 右側取得 |
| StrReverse | 文字列を逆順にする |
安全な書き方(おすすめ)
Dim val As Variant
val = Range("A1").Value
If Not IsNull(val) Then
MsgBox StrReverse(val)
End If
よくあるエラーと対処法
① 型が一致しません
Nullやエラー値の可能性があります。
② 思った順番にならない
文字単位で逆順になります。
③ 日本語が崩れる
特殊文字や環境依存文字に注意してください。
④ コードは正しいのにエラーになる
コピー時に全角文字や特殊文字が混ざることがあります。
その場合は該当行を手入力し直すと解決することがあります。
まとめ
- StrReverseは文字列を逆順にする関数
- 回文チェックなどで便利
- 後方処理にも活用できる
- 特殊な文字列処理で役立つ
StrReverse関数を使いこなせるようになると、文字列処理の幅がさらに広がります。
使用頻度は高くありませんが、覚えておくと便利な関数です。

コメント