[[20190521120741]] 『FINDの最終行まで検索したい』(なのれい) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『FINDの最終行まで検索したい』(なのれい)

いつもお世話になっております。

皆様のおかげでだいぶコードも理解できる様になってまいりました。
ありがとうございます。

今回は検索について質問がございます。

1行目はタイトルとし、
A列に基準の文字列
B列にサブの文字列

G列には基準とサブの文字列がランダムでデータが入っています。

G列を検索範囲とし、サブの文字列(B2)を検索成功したら基準の文字列(A2)に書き換える。

上記の事をしたく思っております。

1回目の検索と文字列の書き換えは可能なんですが、G列の最終行まで検索書き換えをしてから次の文字列(B3)を検索する事が出来なく困っております。

調べてみても、DOLOOPで最初に検索されたセルを検索されたら終了というのが多いです。私の場合ですと、検索文字を書き換えてるのでその方法を取り入れる事が出来ません。

現在出来ているコードを載せますのでアドバイス頂けないでしょうか?

Sub macro1()

Dim rStart As Range
Dim keyWord As String '// 検索文字列

Dim n As Long
Dim m As Long

n = Cells(Rows.Count, "B").End(xlUp).Row 'B列の最終行を取得
m = Cells(Rows.Count, "G").End(xlUp).Row 'G列の最終行を取得

  For i = 2 To n '2からB列の最終行までの数値

    keyWord = Range("B" & i)

    Set rStart = Range("G3:G" & m).Find(keyWord, LookAt:=xlWhole) '選択範囲G列、検索文字B列

    If rStart Is Nothing Then

    Else

    rStart.Value = Range("A" & i)

    End If

  Next i

End Sub

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 Find + Replace 置換でよいのでは?

 Sub test()
     Dim r As Range
     For Each r In Range("b2", Range("b" & Rows.Count).End(xlUp))
         Range("g3", Range("g" & Rows.Count).End(xlUp)).Replace r.Value, r(1, 0).Value , 1
     Next
 End Sub
(seiya) 2019/05/21(火) 12:54

seiyaさんありがとうございます。

こんな短く書けたなんて…

ちゃんと理解して使わせて頂きます。
ありがとうございます。
(なのれい) 2019/05/21(火) 13:27


 Find メソッドで書き換えるのであれば

 Sub macro1()
Dim rStart As Range, rng As Range
Dim keyWord As String '// 検索文字列
Dim n As Long, m As Long, i As Long
n = Cells(Rows.Count, "B").End(xlUp).Row 'B列の最終行を取得
m = Cells(Rows.Count, "G").End(xlUp).Row 'G列の最終行を取得
Set rng = Range("G3:G" & m) '<- 対象範囲
  For i = 2 To n '2からB列の最終行までの数値
    keyWord = Range("B" & i)
    Set rStart = rng.Find(keyWord, LookAt:=xlWhole) '選択範囲G列、検索文字B列
    If Not rStart Is Nothing Then
        Do
            rStart.Value = Cells(i, "a").Value
            Set rStart = rng.FindNext(rStart)
        Loop Until rStart Is Nothing
    End If
  Next i
End Sub
(seiya) 2019/05/21(火) 13:49

seiyaさんありがとうございます。

返信遅くなって申し訳ありません。
勉強させて頂きます。
ありがとうございます。
(なのれい) 2019/05/23(木) 13:10


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.