查找范围内的所有值,并在下一个单元格中设置另一个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的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JavaScript 在单元格中放置另一个文本?

如何在下一个空单元格中复制和粘贴动态表值?

根据单元格值合并范围内的单元格,但最后一个单元格没有被合并

遍历所有工作表并查找范围内的值。如果找到然后执行一些操作并转到

用于查找单元格值是不是在范围内的双 For 循环

在 UDF 中设置时,在需要 range.cell 的范围内选择一个单元格