首页 > 解决方案 > VBA:如果单元格与另一列匹配,则循环跳过

问题描述

如何循环遍历一列并跳过单元格值与另一张表中的列表匹配的行?

For Counter = 2 To 5
    rst.AddNew
        rst.Fields("Title") = Sheets("Sheet1").Cells(Counter, 1).Value
        rst.Fields("Names") = Sheets("Sheet1").Cells(Counter, 2).Value
    
    Next Counter

正如你所看到的,我有一个简单的 for 循环,它将在第 2 行到第 5 行循环,但我想检查单元格中的值是否与另一个选项卡中的值匹配,如果是,我想跳过该行。

标签: vbaloopsfor-loopif-statementscript

解决方案


假设要检查的列是 E 列

Dim ColumnToCheck as Range
 Set ColumnToCheck=range("Sheets2!E:E")

    For Counter = 2 To 5
       
       ValueToCheck= Sheets("Sheet1").Cells(Counter, 1).Value

       If Not IsError(Application.Match(ValueToCheck, ColumnToCheck,0)) Then
            rst.AddNew
            rst.Fields("Title") = Sheets("Sheet1").Cells(Counter, 1).Value
            rst.Fields("Names") = Sheets("Sheet1").Cells(Counter, 2).Value
      End If   

     Next Counter

推荐阅读