VBA二次學習筆記(2)——兩個Excel表內容比較
阿新 • • 發佈:2018-09-04
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表內容比較