VBA用循环查询一列数在另一个表格里的
时间: 2024-10-06 18:02:24 浏览: 88
在VBA中,如果你想在一个工作表(源数据)中遍历某一列的数据,并查找这些值是否存在于另一个工作表(目标数据)中,可以使用For Each...Next循环结合Find函数。下面是一个基本的例子:
```vba
Sub CheckValuesInOtherSheet()
Dim sourceRange As Range
Dim targetSheet As Worksheet
Dim cellValue As Variant
Dim foundCell As Range
' 设置源数据范围和目标工作表
Set sourceRange = SourceWorksheet.Range("A1:A10") ' 更改为你实际的源数据范围
Set targetSheet = ThisWorkbook.Sheets("TargetSheet") ' 更改为你要搜索的目标工作表名称
For Each cellValue In sourceRange
Set foundCell = targetSheet.Cells.Find(What:=cellValue, LookIn:=xlValues)
' 判断找到的单元格
If Not foundCell Is Nothing Then
' 找到了,这里可以添加处理代码,例如打印或者更新源数据的状态等
Debug.Print "找到了:" & cellValue & " 在 " & foundCell.Address
Else
' 没找到,也可以添加相应处理
Debug.Print "没找到:" & cellValue
End If
Next cellValue
End Sub
```
在这个例子中,我们假设源数据是从A1到A10的范围内,`Find`函数会在目标工作表"TargetSheet"中查找匹配的值。如果找到,`foundCell`变量就会引用到那个位置;如果没有找到,`foundCell`会是`Nothing`。
阅读全文