Excel / VBA - 複数のリターンを伴う検索検索

単純な検索検索では、最初の座標が返されます。
  • 状況によっては、見つかったオカレンスの詳細をすべて知る必要があります。
  • これは以下の機能で達成されます。

公開モジュール内

 'ルクーントゥールは、演説をこなします' WkbN =名曲集、名曲集、 'WksN =名曲集' Plage = lescoordonnéesde la plageàparcourir。 'Retourは、タブロー寄稿者を引き合いに出しています。 関数RechFind(文字列としてのByVal Cle、文字列としてのByVal WksN、文字列としてのByVal Plage、長さとしてのByRef TBadress()、長さとしてのIx、ワークブック付きPrAddress(WkbN).Sheets(WksN) .Range(Plage)Set Cherche = .Find(Cle)Chercheが何もない場合PrAddress = Cherche.Address Do ReDim保存TBadress(Ix)TBadress(Ix)= Cherche.Address Set Cherche = .FindNext(Cherche)Ix = 1xチェルシェではない間に+ 1ループし、チェルシュ。最後に 'nombre d'occurence' sで終わった場合は終了、最後に発生する場合は0を検索RechFind = 1チェルシェ=なしを設定 'Libérelamémoireオブジェ。 終了機能 

Xlaワークブックに追加します。

マクロを使う

 Sub RechMulti()Dim Rが長く、TB()Dim iが整数R = RechFind( "12 *"、ThisWorkbook.Name、 "Feuil1"、 "B1:B500"、TB())R> 0ならばi = 0からR - 1 '外向き(TB)'の例のシート( "Feuil1")セル(i + 4、5)=範囲(TB(i))行次へi終了ならば終了Sub 

通話ボタンを使用する

 非公開のSub CommandButton1_Click()長さが最小、TB()最小値が整数範囲( "E4:E20")ClearContents R = RechFind(範囲( "E2")、ThisWorkbook.Name、ActiveSheet.Name、範囲( "B1)アドレス、TB())R> 0の場合i = 0の場合R - 1 '外向き(TB)'の例)シート( "Feuil1")セル(i + 4、5)=範囲( TB(i))。次の行次の場合は終了Sub 

ダウンロード

テストワークブックをダウンロードしてください。

前の記事 次の記事

トップのヒント