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

沒有留言:

張貼留言

職場毒癌:證照有沒有用,舉手提問

 小編鄭幾天被晚輩提問,考證照有用嗎? 小編整理三個面向 1.口糧 2.貴族 3.加值 這三個面向,作思考發想: 1.口糧:怎說是口糧呢!!!!!直接切入,這寫在履歷上有亮點?ai能否取代?? 最好例子就是駕照,人人會開車,這算技能;太直白會檔到很多人財路,但回到自我發展與規劃,...