我有兩個Excel工作簿,其中第一個記錄多於第二個。在它們中都有多條記錄,但不是全部。我應該拿出那些在這兩本工作手冊中再次出現的。由於我從來沒有做過任何VBA,因此我使用C/C++編寫,這種方式並不準確。不管怎麼說,這裏是代碼:複製記錄,如果它在另一個工作簿中重新使用
Sub roznica()
Dim sourceSheet1 As Worksheet
Dim sourceSheet2 As Worksheet
Dim destSheet As Worksheet
Dim LastLineSS1 As Integer
Dim LastLineSS2 As Integer
Dim LastLineDS As Integer
Dim i As Integer
Dim j As Integer
Set sourceSheet1 = Workbooks("EU-Szczecin.xlsm").Worksheets("Sheet1")
Set sourceSheet2 = Workbooks("Lista.xlsm").Worksheets("Sheet1")
Set destSheet = Workbooks("Szczecin-lista.xlsm").Worksheets("Sheet1")
LastLineSS1 = sourceSheet1.Range("A" & Rows.Count).End(xlUp).Row
LastLineSS2 = sourceSheet2.Range("A" & Rows.Count).End(xlUp).Row
LastLineDS = destSheet.Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To LastLineSS1
For j = 2 To LastLineSS2
If sourceSheet1.Cells(i, 1).Value = sourceSheet2.Cells(j, 1).Value & sourceSheet1.Cells(i, 2).Value = sourceSheet2.Cells(j, 2).Value Then
destSheet.Cells(i, 1).Value = sourceSheet1.Cells(i, 1).Value
destSheet.Cells(i, 2).Value = sourceSheet1.Cells(i, 2).Value
End If
Next j
Next i
End Sub
如果A和B值匹配,則宏應該把那些進入第三個工作簿。我檢查了是否值重新安全,他們這樣做邏輯上程序應該通過如果語句,但它不
你需要VBA嗎?您可以將記錄從較小的數據複製到新的工作表中,然後使用Vlookup公式查找其他文件中存在的內容。之後,只需過濾'#N/A'並刪除它們? –
我確實需要VBA,因爲我會在稍後擴展它。 – Lisek
在這種情況下,在VBA中執行上述操作。無需循環:)該方法更快。記錄一個宏,看看你會得到什麼。 –