VBA Excel在两个不同的工作表中比较值

时间:2017-04-23 21:14:48

标签: excel-vba vba excel

我希望比较位于不同工作表中的两列中的值。找到匹配项时,我想减少与匹配值位于同一行的第三列中的值。我知道如何在下面对其进行硬编码,但我不想在excel中为每一行包含此代码。

If Range("g12").Value = Worksheets("Inventory Levels").Range("b2").Value Then
    Worksheets("Inventory Levels").Range("c2").Value = Worksheets("Inventory Levels").Range("c2").Value - 1
End If

1 个答案:

答案 0 :(得分:1)

您可以在一个简单的循环中执行此操作,有关详细信息,请参阅我的注释。

Dim i as Integer
' Use "With" to fully qualify your sheet objects.
With ThisWorkbook
' Loop over rows 2 to 20 (change this as necessary)
For i = 2 to 20
    ' Use ampersand (&) for concatenation of strings
    If .Sheets("Sheet1").Range("G" & (i + 10)).Value = .Sheets("Inventory Levels").Range("B" & i).Value Then
        .Sheets("Inventory Levels").Range("C" & i).Value = .Sheets("Inventory Levelts").Range("C" & i).Value - 1
    End If
Next i
End With