查找范围内的所有值,然后偏移
Find all values with in a range and then offset
我正在尝试编写 vba 代码以在 BI 列中查找术语 "drek"。如果该术语存在于单元格中,它将偏移 (0,1) 值“1”。
我使用了下面的代码,但是它只会找到并偏移第一个 "drek" 然后停止。我需要它,所以它会对它找到的每个 "drek" 执行此操作。
我该怎么做?
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
你可以试试这个:
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
因此,您不需要另一个范围对象。
我正在尝试编写 vba 代码以在 BI 列中查找术语 "drek"。如果该术语存在于单元格中,它将偏移 (0,1) 值“1”。
我使用了下面的代码,但是它只会找到并偏移第一个 "drek" 然后停止。我需要它,所以它会对它找到的每个 "drek" 执行此操作。
我该怎么做?
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
你可以试试这个:
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
因此,您不需要另一个范围对象。