本ページはプロモーションが含まれています。
スポンサーリンク

VBA文字検索セル位置を取得、*アスタリスクを使用した一部検索を1行で特定

VBA
この記事は約3分で読めます。
スポンサーリンク

今回は、セル内容の一部検索を、Find と * アスタリスクを使って、セルを特定でき、行や列、アドレスの取得も1行でシンプルにできる方法を学びました。

すぐに思い出せるように、わたくしのVBA備忘録として残しております。

Findと*アスタリスクでセルを特定できる

Sub mojiken()

msgbox Range(“A1:Q10”).Find(“*北*”).Address

End Sub

 

↑こちらのプロシージャですが、

A1:Q10の範囲内に、北を含む文字列のあるセルのアドレスを返してくれるのですが、

.Address 部分を .Row や .Column などに変更しても使えまして、変数に入れて大活躍してくれるマクロでした!

 

↓Range(“A1:Q10”) を Selection に変えて、選択した範囲内を検索

 

Sub mojiken()

MsgBox Selection.Find(“*北*”).Address

End Sub

 

完全一致のセルを検索

↓ アスタリスクを取って、”北” と指定するだけで完全一致検索ができる。

 

Sub mojiken()

MsgBox Range(“A1:Q10”).Find(“北”).Address

End Sub

 

 

選択した範囲から完全一致のセルを検索

 

↓選択した範囲内で完全一致を検索

 

Sub mojiken()

MsgBox Selection.Find(“北”).Address

End Sub

 

 

シート内の全セルを検索

 

↓Selection を Cells に変えて、このシート全体のセルから北のみのセルを検索

 

Sub mojiken()

MsgBox Cells.Find(“北”).Address

End Sub

 

もちろんネット検索しての、いろんな方のサイトで勉強させて頂いた結果、学んだものなのですが、すごいなーと思いましたのが、アスタリスクを合わせると、もうこの1文だけで使い回しがラクラクできます♪

先人の知恵に感謝ですm(_ _)m

 

変数に入れてみる

↓セルの番地を変数 i に入れて、その位置をアクティブにする。

 

Sub mojiken()
Dim i As String

i = Range(“A1:Q10”).Find(“*北*”).Address
Range(i).Select

End Sub

 

↑セルのアドレスなので、String または Variant で型を指定します。

 

↓行と列を変数に入れる。

 

Sub mojiken()
Dim i As Long
Dim t As Long

i = Range(“A1:Q10”).Find(“*北*”).Row
t = Range(“A1:Q10”).Find(“*北*”).Column

Cells(i, t).Select

End Sub

 

↑Rowは行番号なので型はLongで、列番号はColumnで同様にLongで指定します。

 

 

効率よく文字検索できるようになりましたね♪

先人の知恵に感謝m(_ _)m

↓この本は、kindle読み放題でも読めるので活用させて頂いております。

コメント

タイトルとURLをコピーしました