写个VBA,比对两个excel文档的第一行字段的区别,把有区别的单元格变成黄色,并存在那两个excel里
时间: 2024-02-27 17:56:10 浏览: 63
比较任意两个excel的内容,VBA编写
3星 · 编辑精心推荐
好的,以下是一个简单的VBA代码,可以实现你的需求。
```VBA
Sub CompareExcel()
Dim wb1 As Workbook, wb2 As Workbook
Dim ws1 As Worksheet, ws2 As Worksheet
Dim cell1 As Range, cell2 As Range
Dim i As Integer, j As Integer
Dim isDifferent As Boolean
'打开第一个excel文件
Set wb1 = Application.Workbooks.Open("path\to\file1.xlsx")
'打开第二个excel文件
Set wb2 = Application.Workbooks.Open("path\to\file2.xlsx")
'选择第一个文件的第一个工作表
Set ws1 = wb1.Worksheets(1)
'选择第二个文件的第一个工作表
Set ws2 = wb2.Worksheets(1)
'比对第一行单元格的值
For i = 1 To ws1.UsedRange.Columns.Count
Set cell1 = ws1.Cells(1, i)
Set cell2 = ws2.Cells(1, i)
'如果两个单元格的值不同,则标记为黄色
If cell1.Value <> cell2.Value Then
isDifferent = True
cell1.Interior.ColorIndex = 6 '黄色
cell2.Interior.ColorIndex = 6 '黄色
End If
Next i
'如果有不同的单元格,则保存两个文件
If isDifferent Then
wb1.Save
wb2.Save
End If
'关闭文件
wb1.Close
wb2.Close
End Sub
```
你只需要将上面代码中的 "path\to\file1.xlsx" 和 "path\to\file2.xlsx" 替换成你要比对的两个Excel文件的路径即可。
阅读全文