查找一个范围内的所有值,然后偏移

问题描述 投票:0回答:1

我正在尝试编写一个vba代码,在BI列中查找术语“ drek”。如果该术语存在于单元格中,则它将偏移(0,1)值“ 1”。我使用了下面的代码,但是它只会找到并抵消第一个“滴水”,然后停止。我需要它,所以它将用找到的每个“滴水”来做到这一点。

我该怎么办?

Sub find_drek()


Dim rng As Range
Dim cl As Range
Dim sFind As String
sFind = "drek"
Set rng = Range("BI2", Range("BI65536").End(xlUp))
Set cl = rng.find(sFind, LookIn:=xlValues)
If Not cl Is Nothing Then cl.Offset(0, 1).Value = "1"

End Sub
excel vba loops offset
1个回答
0
投票

您可以尝试以下方法:

Dim rng As Range
Dim sFind As String

sFind = "drek"

For Each rng In Range("BI2", Range("BI65536").End(xlUp))
    If Not rng.Find(sFind, LookIn:=xlValues) Is Nothing Then
        rng.Offset(0, 1).Value = "1"
    End If
Next rng

因此,您不需要另一个范围对象。

© www.soinside.com 2019 - 2024. All rights reserved.