VBA範例:比較兩個Excel表格
此VBA程式用於比對Sheet1與Sheet2的「項名1」與「項名2」列,標記相同資料為「A」,僅Sheet1有的為「B」,並輸出結果至Sheet3。程式透過雙重迴圈與ADODB連線實現高效比對,適用於供應商資料審核。
SHEET2 資料
完整程式碼:
text
Sub 比對1()
Sheet1.Range("D2:D1000").ClearContents
Dim Sheet1數據行數, Sheet2數據行數
Sheet1數據行數 = 15
Sheet2數據行數 = 11
For I = 2 To Sheet1數據行數
For j = 2 To Sheet2數據行數
If Worksheets("Sheet1").Cells(I, 3) = Worksheets("Sheet2").Cells(j, 3) Then
Worksheets("Sheet1").Cells(I, 4) = "A"
Exit For
End If
Next
Next
End Sub
Sub Sheet1中有Sheet2中也有()
Sheet3.Range("A2:D1000").ClearContents
Set conn = CreateObject("adodb.connection")
conn.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & ThisWorkbook.FullName
Sq1 = "select * from [Sheet1$] where 條件 in(select 條件 from [Sheet2$])"
Sheet3.[B2].CopyFromRecordset conn.Execute(Sq1)
conn.Close
Set conn = Nothing
End Sub
執行步驟與解說: 先執行「比對1」標記相同資料,再用SQL子查詢輸出交集至Sheet3。這種方法避免重複程式碼,適合ISO 9001審核時比對供應商清單。
沒有留言:
張貼留言