VBA関数
InStrRev関数

Excelマクロで必須のVBA関数を入門・初級・初心者向けに詳細解説
公開日:2013年5月以前 最終更新日:2021-08-15

InStrRev関数


InStrREv関数は、
文字列の中から指定した文字列を最後の文字位置から検索を開始し、
最初に見つかった文字位置を返す文字列処理関数です。
バリアント型 (内部処理形式 String の Variant) で返します。


InStrRev関数

InstrRev(stringcheck, stringmatch[, start[, compare]])

stringcheck
必ず指定します。
検索先の文字列式を指定します。

stringmatch
必ず指定します。
検索する文字列式を指定します。

start
省略可能です。
各検索の開始位置を設定する数式を指定します。
引数 start を省略すると -1 が使用され、最後の文字位置から検索を開始します。
引数 start に Null 値が含まれると、エラーになります。

※これはヘルプの説明の抜粋ですが、明らかに日本語として分かりずらいです。
開始位置というより、先頭から検索対象とする文字数の指定と言い換える事が出来ます。
つまり、5と指定した場合は先頭から5文字が対象となり、
先頭から5文字目から前に向かって検索すると言う事です。

compare
省略可能です。
文字列式を評価するときに使用する文字列比較のモードを表す数値を指定します。
引数 compare を省略すると、バイナリ モードで比較が行われます。
設定する値については、次の「設定値」を参照してください。

定数 説明
vbUseCompareOption
使用できません
-1 Option Compare ステートメントの設定を使用して比較を行います。
vbBinaryCompare 0 バイナリ モードで比較を行います。
全角半角、大文字小文字が区別されます。
vbTextCompare 1 テキスト モードで比較を行います。
全角半角、大文字小文字が区別されません。

VBA関数では多くの場合、大文字小文字を区別されます。
従って、InStr関数使用時も、大文字小文字を区別されるバイナリ モードを使う事が多くなります。

大文字小文字を区別せずに判定したい場合は、
LCase関数
LCase関数は、アルファベットの大文字を小文字に変換する文字列処理関数です。LCase関数 LCase(string) charcode 任意の文字列式を指定します。この引数は必ず指定します。stringにNull値が含まれている場合、Null値を返します。
UCase関数
UCase関数は、アルファベットの小文字を大文字に変換する文字列処理関数です。UCase関数 UCase(string) charcode 任意の文字列式を指定します。この引数は必ず指定します。stringにNull値が含まれている場合、Null値を返します。
StrConv関数
StrConv関数は、指定された変換方式で変換した文字列を返します、バリアント型(内部処理形式StringのVariant)で返します。StrConv関数 StrConv(string,conversion,LCID) string 必ず指定します。
これらと組み合わせて使用することの方が多いかもしれません。

戻り値(返り値)
バリアント型 (内部処理形式 Long の Variant) の値を返します。

文字列(stringcheck)の中から指定した文字列(stringmatch)を後ろから検索し、
最初に見つかった文字位置(先頭からその位置までの文字数)を返します。

検索文字が見つからなかった場合は、0を返します。

InStrRev関数の使用例

InStrRev("PowerPointExcel", "e") ・・・ 14
P o w e r P o i n t E x c e l
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

InStrRev("PowerPointExcel", "e", 5) ・・・ 4
P o w e r P o i n t E x c e l
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
※"startに5を指定しているので、先頭の"Power"だけが検索対象となります。

拡張子を取り出す場合に有効です。
ファイル名には.(ピリオド)が含まれる事がありますので、
後ろから.(ピリオド)の位置を見つける必要があります。
strName = "エクセル.Excel.xlsx"
Mid(strName, InStrRev(strName, ".") + 1) ・・・ "xlsx"


Office VBA リファレンス InStrRev関数


※VBA関数一覧
マクロVBA関数の一覧と解説です、どんな関数があるかは一度は確認しておくとをお勧めいたします。どんな関数があるだけでも知っておけば、詳細の使い方は実際に使うときに調べても良いでしょう。文字列操作…34 分岐…3 型変換…14 データ判定…10 日付時刻…20 配列…6 ファイル操作…14 数学/財務…28 その他……



同じテーマ「VBA関数」の記事

Format関数
FormatCurrency関数,FormatDateTime関数,FormatNumber関数,FormatPercent関数
InStr関数
InStrRev関数
LCase関数
UCase関数
Replace関数
Left関数,LeftB関数
Right関数,RightB関数
Mid関数,MidB関数
Len関数,LenB関数


新着記事NEW ・・・新着記事一覧を見る

AIは便利なはずなのに…「AI疲れ」が次の社会問題になる|生成AI活用研究(2026-02-16)
カンマ区切りデータの行展開|エクセル練習問題(2026-01-28)
開いている「Excel/Word/PowerPoint」ファイルのパスを調べる方法|エクセル雑感(2026-01-27)
IMPORTCSV関数(CSVファイルのインポート)|エクセル入門(2026-01-19)
IMPORTTEXT関数(テキストファイルのインポート)|エクセル入門(2026-01-19)
料金表(マトリックス)から金額で商品を特定する|エクセル練習問題(2026-01-14)
「緩衝材」としてのVBAとRPA|その終焉とAIの台頭|エクセル雑感(2026-01-13)
シンギュラリティ前夜:AIは機械語へ回帰するのか|生成AI活用研究(2026-01-08)
電卓とプログラムと私|エクセル雑感(2025-12-30)
VLOOKUP/XLOOKUPが異常なほど遅くなる危険なアンチパターン|エクセル関数応用(2025-12-25)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.FILTER関数(範囲をフィルター処理)|エクセル入門
5.RangeとCellsの使い方|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
8.マクロとは?VBAとは?VBAでできること|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.メッセージボックス(MsgBox関数)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。
This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ