如何搜索项目并在VBA中选择它

时间:2014-07-11 00:07:39

标签: excel vba excel-vba

我想在电子表格中的单元格中搜索一个值并选择它。这是我想要做的一些伪代码:

search for the unique value "Justin123" in spreadsheet
select the cell that contains the value "Justin123"
offset 2 cells to the left of the searched value and replace with new value "John123"

我试图谷歌解决方案但我发现的所有建议都是使用记录宏功能来搜索和替换项目。但是,我需要做的是略有不同,因为我需要搜索并替换搜索单元格左侧的两个单元。

2 个答案:

答案 0 :(得分:2)

看看你是否理解这段代码(希望它让你对学习VBA感兴趣):

Sub TestReplace()
    ActiveSheet.Cells.Find(What:="Justin123", LookAt:=xlPart).Offset(0,-2).Value = "John123"
End Sub

Macro Recorder是初学者的绝佳工具。请将它用于简单的单元操作。

答案 1 :(得分:1)

基本上,您需要做的是初始化RANGE对象(表示excel中的单元格)。然后将范围对象设置为函数.Find()的输出,该函数从工作表中返回与搜索输入匹配的范围对象。如果没有匹配项,则将范围对象设置为Nothing。然后,您可以使用范围对象必须遍历工作表中其他范围对象的方法.Offset()

Sub Main()

    Dim rng As Range
    Set rng = ActiveSheet.Cells.Find(What:= "Justin123", LookAt:= xlPart)

    ' Check if rng is not Nothing [ie a match was made using .Find()]
    If Not rng Is Nothing Then
        rng.Offset(0, -2).Value = "John123"
    End If

End Sub