2017-04-23 121 views
1

我期待比較兩列中位於不同工作表中的值。當找到匹配項時,我想減少與匹配值位於同一行的第三列中的值。我知道如何在下面進行硬編碼,但我寧願不必爲Excel中的每一行都包含此代碼。VBA 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

你可以在一個簡單的循環中做到這一點,詳見我的評論。

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 
相關問題