2025年12月21日 星期日

VBA 資料分析教學:DAY 9

 VBA範例:比較兩個Excel表格

此VBA程式用於比對Sheet1與Sheet2的「項名1」與「項名2」列,標記相同資料為「A」,僅Sheet1有的為「B」,並輸出結果至Sheet3。程式透過雙重迴圈與ADODB連線實現高效比對,適用於供應商資料審核。

SHEET1 資料

                                                                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審核時比對供應商清單。

沒有留言:

張貼留言

指數變化(2026.01.23) 開始透過AI做整理

  指數變化(2026.01.23) 開始透過AI做整理 上周焦點: 1/13消費者物價相關 美國消費者物價指數(CPI)年增率:2.7%(符合預期),月增率:0.3%。 美國核心CPI年增率:2.6%。 1/14企業庫存、房市、能源及房貸相關 美國企業庫存月增率:0.3%(10...