Я новичок в VBA и буду очень признателен за помощь.
В своей работе время от времени мне приходится сравнивать две базы данных: одну из системы документации пациента, а другую - с устройства. база данных. Обе эти базы данных экспортируются как файлы Excel. Я хочу сравнить ячейки из одного столбца каждого файла Excel (столбец B из первого файла, столбец M из второго файла) и убедиться, что их содержимое идентично. Если значение идентично, ячейка должна стать зеленой, если нет - красной. Это значительно упростит поиск опечаток и сэкономит много работы. Поскольку я не хочу прикасаться к коду каждый раз, когда делаю это, я создал небольшую пользовательскую форму, где я могу загрузить два листа Excel и нажать «Сравнить». Все идет нормально. Моя (noob) проблема заключается в следующем: как сравнить каждую ячейку из этих двух указанных c столбцов (которые находятся в отдельных файлах 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: требуется объект». Я, вероятно, испортил синтаксис, но не знаю, как это исправить. Я оглянулся, но не смог найти ответ. Пожалуйста, помогите?