所以我有兩個不同的工作表,它們有一個帶有服務訂單的列。基本上,如果Worksheet1的SO-ID列中的數字與Worksheet2中的SO#列匹配,那麼我想要執行的操作是:複製那些與該特定服務訂單號相關的相應列「Order」和「Type」從Worksheet2到Worksheet1。任何幫助將不勝感激。我發現下面的例子,但有很多更多的數據點比所示:比較兩個不同工作表的值
Worksheet1 named "In Progress":
Region SO-ID Site ID
C01 5818476 DNYF8766D
E01 5975844 DCD00139
E01 5446828 DEG02219
.
.
.
.
.
Worksheet B named "0205":
No. SO# Order Type
1 5446828 KMC07570 Re-Install
2 5975844 KSS10269A Install
3 5818476 KSS10349D Re-Install
.
.
.
.
Results:
In Worksheet1 named "In Progress":
Region SO-ID Site ID Order Type
C01 5818476 DNYF8766D KSS10349D Re-Install
E01 5975844 DCD00139 KSS10269A Install
E01 5446828 DEG02219 KMC07570 Re-Install
.
.
.
.
.
這是我寫的代碼,但它不工作
Sub DCompare()
Dim LR As Long
LR = Range("A" & Rows.Count).End(xlUp).Row
Dim i As Long
For i = LR To 2 Step -1
If ThisWorkbook.Sheets("Sheet1").Range("B" & i) = ThisWorkbook.Sheets("Sheet2").Range("B" & i) Then
Worksheets("Sheet2").Cells(i, 8).Value = Worksheets("Sheet2").Cells(i, 3).Value
Worksheets("Sheet2").Cells(i, 9).Value = Worksheets("Sheet2").Cells(i, 4).Value
End If
Next i
End Sub
VLOOKUP公式不適合你嗎? – pnuts 2015-02-05 20:21:54
我從來沒有真正使用過VLOOKUP公式,但我沒有嘗試的原因是因爲我想要一個宏,它可以幫助我將它應用到其他工作表中。 – Robert 2015-02-05 20:23:02
如果你不介意宏(即安全/兼容性),那麼你有一個很好的理由國際海事組織。儘管VLOOKUP非常簡單,但我認爲大多數人會寫公式而不是VBA代碼,部分原因是「未來」往往不像過去那麼完全相同。 – pnuts 2015-02-05 20:26:44