Надеюсь, у кого-то может быть ключ к разгадке, если я могу что-то сделать, чтобы обойти проблему, с которой я столкнулся. Может быть трудно добавить код, который я использую, так как он очень большой.
У меня есть таблица с календарными датами в первом столбце. Все они в формате дд / мм / гггг. В VBA я хочу найти дату и найти номер строки в календаре, используя следующее:
FirstRow = Workbooks(WorkbookSelected.Name).Sheets("Tables").Columns(1).Find(ConfirmedDate, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, LookAt:=xlWhole).Row
Подтвержденная дата сохраняется как переменная даты, взятая из календаря. также, но к этому добавляются дни. Я ищу в двух разных книгах, чтобы найти FirstRow. Если обе книги находятся в одном приложении / экземпляре Excel, тогда этот код работает нормально.
Но если я открою вторую книгу в новом экземпляре Excel, произойдет ошибка, потому что дата не найдена. Что-то происходит с датой во 2-м приложении. Если я использую format(ConfirmedDate, "dd/mm/yyyy")
, он найдет его во 2-й книге. Но этот код не будет работать в оригинальной книге. Код, аналогичный приведенному выше, но просто ссылка на экземпляр Excel, который необходимо изучить. Я получаю ошибку времени выполнения 91, когда он не находит ее.
FirstRow = ExcelInstanceSelected.Workbooks(WorkbookSelected.Name).Sheets("Tables").Columns(1).Find(ConfirmedDate, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, LookAt:=xlWhole).Row
FirstRow = ExcelInstanceSelected2.Workbooks(2ndWorkbookSelected.Name).Sheets("Tables").Columns(1).Find(ConfirmedDate, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, LookAt:=xlWhole).Row
Я пытаюсь найти способ найти дату в календаре независимо от того, какое приложение Excel я использую. Я попытался открыть книгу с локальным значением true (не помогает). Я пробовал комбинации форматов, cdate, cdbl, lookin: = xlformulas. Ничто не будет работать с обеими книгами.
Это сводит меня с ума. Я могу только предположить, что .find во 2-й рабочей книге изменяет формат сохраненной ConfirmedDate на американский формат m / dd / yyyy. Я просто не могу найти способ убедиться, что обе даты могут быть отформатированы в dd / mm / yyyy относительно того, как они начинаются.
Большое спасибо за любую помощь.
Cel