1. 程式人生 > >VBA二次學習筆記(2)——兩個Excel表內容比較

VBA二次學習筆記(2)——兩個Excel表內容比較

integer then 控制 圖片 amp 員工 工作 表格 獲取

說明(2018-9-3 22:38:58):

1. 就是之前問同事要來的作業,有兩個格式一樣的Excel文件,一個是正確答案,一個是員工作答的。通過代碼將兩個文件進行比對,把不同之處列出來。

正文:

Sub test1()
    Dim wb1 As Worksheet
    Dim wb2 As Worksheet
    Dim wb As Worksheet
    Set wb1 = Workbooks("1.xlsx").Sheets(1)
    Set wb2 = Workbooks("2.xlsx").Sheets(1)
    Set wb = Workbooks("test.xlsm
").Sheets(1) Dim n As Integer n = 2 For i = 3 To 14 If wb1.Range("b" & i).Value <> wb2.Range("b" & i).Value Then wb.Range("a" & n).Value = wb1.Range("a" & i).Value wb.Range("b" & n).Value = wb1.Range("b" & i).Value wb.Range("c" & n).Value = wb2.Range("
b" & i).Value n = n + 1 End If Next For i = 24 To 31 If wb1.Range("b" & i).Value <> wb2.Range("b" & i).Value Then wb.Range("a" & n).Value = wb1.Range("a" & i).Value wb.Range("b" & n).Value = wb1.Range("b" & i).Value wb.Range(
"c" & n).Value = wb2.Range("b" & i).Value n = n + 1 End If Next End Sub

效果:

1.xlsx和2.xlsx,有兩個數字不一樣

技術分享圖片 技術分享圖片

在宏文件所在的Excel裏的顯示結果:

技術分享圖片

總結:

1. 主要使用了獲取工作簿的方法WorkBooks();用了兩個for循環,因為表格不連續;用了一個變量n,控制在主表中向下排列不同數據。

2. WorkBooks()獲取工作簿需要文件打開,下一步可以使用open方法,在不用提前打開文件的條件下完成操作。

VBA二次學習筆記(2)——兩個Excel表內容比較