У меня есть сценарий, который пытается сравнить определенные данные на основе номера тега в первом столбце электронной таблицы Excel в двух разных книгах. Когда я пытаюсь получить доступ к первой книге, она отлично работает, и я могу правильно получить доступ к данным в ячейке с помощью следующей команды:
s_WS_string = Workbooks(s_WS_Filename).Sheets(s_WS_SheetName).Range(s_WS_col & s_WS_row).Value
Где s_WS_col
и s_WS_row
— это определенные строки в сценарии VBA. Эта команда успешно извлекает данные. Однако,
OURS_string = Workbooks("OURS.xlsx").Sheets("Sheet1").Range(s_OURS_col & s_OURS_row).Value
Не. s_OURS_col
и s_OURS_row
также являются строками. WS
обозначает рабочий лист, который представляет собой переменный рабочий лист, сравниваемый со статическим листом OURS.xlsx
.
Это одна и та же команда, которой передаются параметры одного и того же типа, но одна из них извлекает данные из ячейки, а другая — нет. Я нахожусь в процессе репликации в другой среде для загрузки, если до этого дойдет.
Две строки предназначены для сравнения друг с другом и, если они не совпадают, для объединения и вывода на реплицированном рабочем листе. Основываясь на моем выводе и моей собственной отладке, я обнаружил, что он найдет значение в первой электронной таблице, но в статической электронной таблице OURS.xlsx
, даже когда он получит доступ к ячейке, содержащей точно такие же данные, он останется пустым, и таким образом, считается не совпадающим.
Кто-нибудь еще видел эту проблему?
Редактировать 1: Уточнены некоторые проблемы.
Редактировать 2: я понимаю, что обе книги должны быть открыты, чтобы получить к ним доступ таким образом, и я уверяю вас, что обе книги открыты во время выполнения скрипта.
Редактировать 3: я прошел скрипт до того момента, когда он передает аргументы для доступа к значениям. Я проверил значения в обеих переданных ячейках, и они совпадают, но одно из них не извлекается из рабочей книги должным образом.