range().findnext(after)在range中查找下一个(必须与find函数一起使用)
do
……
loop until
Sub f()
Dim rng As RangeDim dizhi As String
Set rng = Range("a:a").Find("abc")'在a列中查找abc并赋给rng
dizhi = rng.Address第一个找到的rng的地址赋值给dizhi变量
Do
rng.Copy Cells(Rows.Count, "b").End(xlUp)‘将找到的rng复制到右侧’Set rng = Range("a:a").FindNext( rng)‘查找下一个rng,并再次赋值给rng变量’
Loop Until rng.Address = dizhi‘循环,直到找到的rng的地址和第一个地址一样为止’
End Sub
注意:需要先使用find方法,并将其赋值给一个range变量。
然后才能使用findnext方法
findnext方法中的参数要用到range变量,不可以自定查找内容。
Sub ka()
Dim rng As Range
Dim rng2 As Range
Dim str As String
Set rng = Range("a:a").Find("abc")
str = rng.Address
Do
Set rng = Range("a:a").FindNext(rng)
Set rng2 = rng.EntireRow.Range("a1:c1")
‘这一句的目的是在rng2所在的整行中取1-3列。在某一区域中.range()属性用于选取其中的一部分,重新定位于该区域的左上角。
rng2.Font.Color = RGB(255, 3, 3)
rng2.Interior.Color = RGB(255, 255, 0)
rng2.Font.Bold = True
Loop Until rng.Address = str
End Sub