检查两个不同表中的单元格值

时间:2017-04-25 12:54:43

标签: excel vba excel-vba cell

我在excel文件中有两张表,即bank_form和Pay_slip。 我正在尝试编写一个vba来检查工作表Pay_slip的单元格B5中的值/文本是否等于工作表Bank_form的单元格B8中的值/文本。相似它会检查所有值,直到Pay_slip表的最后一行。 但是我的代码不能正常运行它总是闪现“所有员工都找到了”的信息。 请找出我的错误。

Sub CommandButton1_Click()
Dim LastRow As Long
LastRow = Worksheets("Bank_form").Range("B" & Rows.Count).End(xlUp).Row
LR = Worksheets("Pay_slip").Range("B" & Rows.Count).End(xlUp).Row

If Worksheets("Pay_slip").Range("B5" & LR).Value = Worksheets("Bank_form").Range("B8" & LastRow) Then

MsgBox "All Employees Found."

Worksheets("Bank_form").Range("F" & LastRow + 1).Formula = "=SUM(F8:F" & LastRow & ")"

Else: MsgBox "Employee(s) missing Please check again!"

End If

End Sub

2 个答案:

答案 0 :(得分:2)

你需要一个像这样的循环

Dim i as Long
For i = 5 to LastRow 'start at B5
    If Worksheets("Pay_slip").Range("B" & i).Value = Worksheets("Bank_form").Range("B" & i + 3) Then
    ' ... your other stuff here

next i

答案 1 :(得分:0)

If Worksheets("Pay_slip").Range("B5").Value = Worksheets("Bank_form").Range("B8").Value Then MsgBox "The values are the same"

我不知道您为什么要参与代码中的行数,但为了检查特定单元格中的值的等效性,它们是无用的