在vba中将工作表1中的2列与单个工作簿中工作表2中的2列进行比较

问题描述

我想将 sheet1 中的 2 列(A、B)值与 2 列(C、D)进行比较,如果它们匹配,则在表 1 的下一列中,单元格值应为“匹配”,如果不匹配,则为“不匹配”匹配")

在 sheet1(A 列应等于 ==)sheet2(C 列)中

在 sheet1(B 列应等于 ==)sheet2(D 列)中

例如 1

SHEET1 SHEET2

A B C D E

101 2000 101 2000 匹配(所有 4 个值相同)

例如 2

SHEET1 SHEET2

A B C D E

101 2000 201 2000 不匹配(A 和 C

例如 3

SHEET1 SHEET2

A B C D E

101 2000 101 3000 不匹配

例如 4

SHEET1 SHEET2

A B C D E

301 7000 101 3000 不匹配

解决方法

Option Explicit

Sub macro()

   Dim i As Long,iLast As Long
   iLast = Sheet1.Cells(Rows.Count,"A").End(xlUp).Row
   For i = 1 To iLast
       If Sheet1.Cells(i,"A") = Sheet2.Cells(i,"C") _
          And Sheet1.Cells(i,"B") = Sheet2.Cells(i,"D") Then
          Sheet1.Cells(i,"C") = "Matched"
       Else
          Sheet1.Cells(i,"C") = "Not Matched"
       End If

   Next

End Sub

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...