' Set importWB = Workbooks.Open(Filename:=sFolder & sFiles, ReadOnly:=True) Set importWB = Workbooks.Open(Filename:=sFolder & sFiles)
Так без реадонли искажает исходные данные. Пример искажений прилагаю. Попытка открывать файлы в проводнике не через Onedrive, а через полный путь: пользователи\Пользователь\Onedrive так же дает ошибку...
Ваш совет работает - данные накладных (расположенных в OneDrive) не искажает, в открытый Sheet (хоть книга и на чтение открыта) дает записать данные. Спасибо Осталось разобраться почему Close не работает как нужно - может я какую-то тонкость не учитываю?
Все страньше и страньше. Работаю на Офисе 365 семейная подписка - легальный. Windows 10 Pro Короче код работает нормально если обрабатываемые файлы находятся на локальном диске. Если же файлы разместить в Onedrive - он отражается так же на локальном диске - происходят чудеса с искажением исходных накладных которые закрываю без записи - происходит запись в файл изменений которые надеялся сбросить. Выкладываю архив - там файл с макросом и реальные документы. Алгоритм действия - запускаем макрос, сначала выбираем файл с описанием накладных - информация из него (реквизиты накладной) добавляется в каждую строку накладной, потом выбираем папку с документами для объединения. Все строки накладных формируют один лист (слияние накладных из файлов на одном листе) Задача из Айко - там приходится для анализа выгрузить каждую накладную, а потом эти накладные анализировать Буду благодарен если поясните что происходит и укажите на неразумный код макроса
Не получится - задача открыть, ИСПОЛЬЗОВАТЬ Sheet как рабочую - ее изменит, а потом по copy записать регион в другую книгу. Если сделать только чтение - не даст изменить. Но возможно мой глюк - сейчас попытался сделать коротенький пример как просил Апострофф - все работает на нем нормально. Попытаюсь понять что происходит
Нужно в цикле открывать книги и переносить обработанную в них информацию в новую книгу. Казалось бы можно спокойно открыть в цикле книгу, изменить данные на листе этой открытой книги, перенести измененные данные в новую книгу, закрыть открытую книгу без сохранения. Но нифига не получается - открытая книга в которой провожу изменения записывается с изменениями. Что не учитываю - подскажите?
Код
Do While sFiles <> ""
Set importWB = Workbooks.Open(Filename:=sFolder & sFiles)
Set ws = importWB.Worksheets(1)
ws.Rows("1:2").Select
Selection.Delete Shift:=xlUp
importWB.Close savechanges:=False
Loop