【发布时间】:2020-04-24 12:10:55
【问题描述】:
我必须比较两个数据库,一个来自患者文档系统,另一个来自设备数据库。这两个数据库都导出为 Excel 文件。
我想比较每个 Excel 文件的一列中的单元格(第一个文件中的 B 列,第二个文件中的 M 列)并确保它们的内容相同。
如果相同,则单元格应变为绿色,否则为红色。
因为我不想每次执行此操作时都触摸代码,所以我创建了一个用户表单来加载两个 Excel 工作表并单击“比较”。
如何比较位于不同 Excel 文件中的这两列中的每个单元格?
我想出了这段代码,它在点击“比较”按钮时执行:
Sub CommandButton3_Click()
Dim BBraunFile
Dim ICMFile
Dim CellsBBraun
Dim CellsICM
Dim CellA
Dim CellB
Set BBraunFile = Workbooks.Open(strFileToOpenBbraun)
Set ICMFile = Workbooks.Open(strFileToOpenICM)
CellsBBraun = BBraunFile.Worksheets("0_Standard-Pat.-Profil").Range("b4:b5000")
CellsICM = ICMFile.Worksheets("ExternalIDs").Range("M2:M5000")
For Each CellA In CellsBBraun
Set CellB = ICMFile.Worksheets("ExternalIDs").Range(Cell.Row, 13)
If CellA.Value = CellB.Value Then
CellA.Interior.ColorIndex = 3
Else
CellA.Interior.ColorIndex = 4
End If
Next CellA
End Sub
我收到运行时错误“424:需要对象”。
我环顾四周,但找不到答案。
【问题讨论】:
-
CellsBBraun和CellsICM需要在它们之前有set,它们是对象。您还会遇到Range(Cell.Row, 13)的问题。单元格未在任何地方声明。