VBA数值查找/覆盖数据



我正在编写一个宏,允许我每月更新数据。但是,我意识到有时我需要在对数据进行更正时覆盖同月的数据。我正在尝试想出一个宏,该宏将允许我搜索整个列,如果与数据匹配,则允许我运行另一个宏以用新数据覆盖旧数据。关于如何做到这一点的任何想法?

这是我到目前为止所拥有的。我需要用整列将 i 替换为 500。

Sub FindMatchingValue()
Dim i As Integer, ValueToFind As Integer
intValueToFind = Sheet8.Range("L6")
For i = 1 To 500    ' This needs to be the entire column
If Cells(i, 1).Value = intValueToFind Then
MsgBox ("Found value on row " & i)
Exit Sub
End If
Next i
MsgBox ("Value not found in the range!")
End Sub

您不想向下循环整个列(略高于 1 mil X(。相反,从底部找到最后一行,然后遍历该范围。

如果你的目标是在找到匹配项时运行第二个宏,你可以去掉你的msgboxExit Sub,并替换为Call SecondMacro,其中"SecondMacro"当然是你分配给你的子的名字。只是一个选择~

Sub FindMatchingValue()
Dim i As Integer, ValueToFind As Integer, LRow as Integer
intValueToFind = Sheet8.Range("L6")
LRow = Range("A" & Rows.Count).End(XlUp).Row
For i = 1 To LRow
If Cells(i, 1).Value = intValueToFind Then
MsgBox ("Found value on row " & i)
Exit Sub
End If
Next i
MsgBox ("Value not found in the range!")
End Sub

最新更新