Подскажите, пожалуйста, как можно удалить первые n строк (ненужное название + пустая строка, разделяющая название название и таблицу) в каждом файле (20-30 файлов) находящемся в одной директории. Не важно как: при помощи Power Query; макроса или еще как. искал эту возможность в Power Query, но, к сожалению, не нашел как это можно сделать.
Здравствуйте. Можно, например, если все файлы одинаково структурированы (один и тот же лист, где таблица со строками для удаления, строки для удаления одни и те же), перебирать все файлы в папке, проверять их по имени, например, (надо в файле с таким именем удалением заниматься, или не очень), открывать их, удалять ненужное, сохранять и закрывать. И так, пока все файлы в папке не кончатся.
Не проверял на компьютере, но можно сделать следующее: 1. Открываем нужные файлы (если хватает ресурсов). 2. Запускаем макрос:
Код
sub main()
dim wbk as workbook
for each wbk in workbooks
wbk.worksheets(1).range("1:4").delete
' wbk.close True ''' убираем апостроф в начале этой строки, чтобы закрыть и сохранить изменения
next
end sub
Вместо цифр 1 и 4 подставьте свои номера строк. Забыл добавить. Пользуйтесь с осторожностью: отменить будет невозможно. Закройте предварительно файлы, которые не должны обрабатываться.
Hugo, знал, что кто-то скажет это. Предлагаю в таком случае делать какую-то базовую проверку типа
Код
if not (wbk.name like "*personal.xlsb" or ...) then
'код удаления здесь
end if
Вставить приведенный код в тело цикла и запускать. Можно, конечно, пойти через функцию Dir и цикл с while, но здесь кому как удобнее. Многоточие тоже надо будет поправить.
Ahaf, у вас задача то состоит в том чтобы собрать эти файлы без учета лишних строк, или нужно именно по удалять в источниках ненужные строки? Если файлы нужно собрать, то приложите архив с файлом примером. Покажу как это можно сделать в PQ. А если именно удалять, то это лучше макросом.