查找范围内的所有值,并在下一个单元格中设置另一个cell.value
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查找范围内的所有值,并在下一个单元格中设置另一个cell.value相关的知识,希望对你有一定的参考价值。
嗨,我正在使用宏来在一系列字符串中找到Flex这个词,但我需要设置另一个值,在它旁边创建一个列。但我无法弄清楚迭代所有细胞到lastrow的方法,并且找到的每个值在下一个单元格和列中设置另一个值。
Sub Method2()
Dim rng1 As Range
Dim strSearch As String
strSearch = "Flex"
Set rng1 = Range("A:A").Find(strSearch, , xlValues, xlPart)
If Not rng1 Is Nothing Then
MsgBox "Find has matched " & strSearch & vbNewLine & "corresponding cell is " & rng1.Offset(0, 1)
Else
MsgBox strSearch & " not found"
End If
结束子
答案
如果您的意思是“Flex”可以多次找到,并且您希望每次都显示一个消息框,请尝试此操作。如果要更改下一个单元格中的值,则只需更改Do循环内的行。
这使用FindNext并记录第一个查找的地址并保持循环,直到我们回到那里,这意味着它是时候停止了。
Sub Method2()
Dim rng1 As Range
Dim strSearch As String, s As String
strSearch = "Flex"
Set rng1 = Range("A:A").Find(strSearch, , xlValues, xlPart)
If Not rng1 Is Nothing Then
s = rng1.Address
Do
rng1.Offset(0, 1).value=1
MsgBox "Find has matched " & strSearch & vbNewLine & "corresponding cell is " & rng1.Offset(0, 1)
Set rng1 = Range("A:A").FindNext(rng1)
Loop Until rng1.Address = s
Else
MsgBox strSearch & " not found"
End If
End Sub
以上是关于查找范围内的所有值,并在下一个单元格中设置另一个cell.value的主要内容,如果未能解决你的问题,请参考以下文章