Vba 需要方法循环另一张表上的数字,并将其用作循环中的变量
我需要更改以下代码,以便从不同工作表的列表中提取数字,而不是将其包含在代码中。我需要这个列表是动态的数字将被添加到列表中在未来Vba 需要方法循环另一张表上的数字,并将其用作循环中的变量,vba,Vba,我需要更改以下代码,以便从不同工作表的列表中提取数字,而不是将其包含在代码中。我需要这个列表是动态的数字将被添加到列表中在未来 For a = 1 To Lcell v = Cells(a, 2).Value If v = "1200" Or v = "652" Or v = "552" Then If Not RngDelFund Is Nothing Then Set RngDelFund = Application.Union(RngDelF
For a = 1 To Lcell
v = Cells(a, 2).Value
If v = "1200" Or v = "652" Or v = "552" Then
If Not RngDelFund Is Nothing Then
Set RngDelFund = Application.Union(RngDelFund, Cells(a, 2).EntireRow)
Else
Set RngDelFund = Cells(a, 2).EntireRow
End If
End If
Next a
在其他工作表上列出
1200
652
552
+将来要添加的编号假设列表位于另一张工作表的A列中,将要搜索的范围对象装入板条箱中,如下所示:
Dim rngToSearch as Range
Set rngToSearch = Worksheets("some_other_sheet_name").Range("A:A")
您可以修改其中的.Range(“A:A”)
部分,以引用另一页上的任何向量范围(仅1列或1行)。如果它不符合那个标准,那么您必须使用。Find
方法。但通常列表是以行或列的形式给出的,所以我现在假设是这样
然后,要检查v
值是否存在于该范围内,只需使用应用程序.Match
函数,如果未找到匹配项,该函数将返回一个错误值,如下所示:
For a = 1 To Lcell
v = Cells(a, 2).Value
If Not IsError Application.Match(v, rngToSearch, False) Then
If Not RngDelFund Is Nothing Then
Set RngDelFund = Application.Union(RngDelFund, Cells(a, 2).EntireRow)
Else
Set RngDelFund = Cells(a, 2).EntireRow
End If
End If
Next a
您可以使用
Find()
或Application.Match()
来确定单元格中的数字是否存在于另一张工作表的列表中。您好,David,我不想更改范围对象,因为这将导致代码在单独的工作表上运行。我需要这样的东西:v=Cells(a,2)。Value>>>>>>如果v=“循环其他工作表上的列表”,那么>>>>>>如果不是RngDelFund,那么什么都不是