VBA数值查找/覆盖数据

VBA数值查找/覆盖数据,vba,excel,Vba,Excel,我正在编写一个宏,允许我每月更新数据。然而,我意识到,有时我需要覆盖来自同一个月的数据,当数据被更正时。我正在尝试提出一个宏,它允许我搜索整个列,如果与数据匹配,则允许我运行另一个宏以用新数据覆盖旧数据。你知道怎么做吗 这是我到目前为止所拥有的。我需要用整个列替换为I到500 Sub FindMatchingValue() Dim i As Integer, ValueToFind As Integer intValueToFind = Sheet8.Range("L6") For i = 1

我正在编写一个宏,允许我每月更新数据。然而,我意识到,有时我需要覆盖来自同一个月的数据,当数据被更正时。我正在尝试提出一个宏,它允许我搜索整个列,如果与数据匹配,则允许我运行另一个宏以用新数据覆盖旧数据。你知道怎么做吗

这是我到目前为止所拥有的。我需要用整个列替换为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)。相反,从底部找到最后一行,并在该范围内循环

如果您的目标是在找到匹配项时运行第二个宏,则可以删除
msgbox
Exit Sub
,并替换为
Call SecondMacro
,其中“SecondMacro”当然是您分配给Sub的名称。只是一个选择~

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

录制一个宏,然后在完成上述操作后查看您拥有的代码。我有代码的框架。我遇到的唯一问题是能够搜索整个列并将这些日期与另一张表上的日期匹配。如果您有代码,请在问题中发布,突出显示哪一位不起作用。很抱歉