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,那么什么都不是