Страницы: 1
RSS
Удаление первых n строк из каждого файла, Удаление первых n строк из каждого файла
 
Здравствуйте всем!

Подскажите, пожалуйста, как можно удалить первые n строк (ненужное название + пустая строка, разделяющая название название и таблицу) в каждом файле (20-30 файлов) находящемся в одной директории. Не важно как: при помощи Power Query; макроса или еще как. искал эту возможность в Power Query, но, к сожалению, не нашел как это можно сделать.

Заранее благодарю за содействие,

С искренним уважением.
Изменено: Ahaf - 19.03.2018 13:20:09
 
del
Изменено: Казанский - 16.03.2018 09:59:38 (не туда)
 
Здравствуйте. Можно, например, если все файлы одинаково структурированы (один и тот же лист, где таблица со строками для удаления, строки для удаления одни и те же), перебирать все файлы в папке, проверять их по имени, например, (надо в файле с таким именем удалением заниматься, или не очень), открывать их, удалять ненужное, сохранять и закрывать. И так, пока все файлы в папке не кончатся.
Кому решение нужно - тот пример и рисует.
 
Не проверял на компьютере, но можно сделать следующее:
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 подставьте свои номера строк. Забыл добавить. Пользуйтесь с осторожностью: отменить будет невозможно. Закройте предварительно файлы, которые не должны обрабатываться.
Изменено: Все_просто - 16.03.2018 10:34:07
С уважением,
Федор/Все_просто
 
Цитата
Все_просто написал:
Закройте предварительно файлы, которые не должны обрабатываться.
- это может быть трудно, ибо всякие надстройки и персональные с макросами - это тоже книги, их запыхаетесь закрывать. Хотя конечно возможно.
 
Hugo, знал, что кто-то скажет это.
Предлагаю в таком случае делать какую-то базовую проверку типа
Код
if not (wbk.name like "*personal.xlsb" or ...) then
'код удаления здесь
end if
 

Вставить приведенный код в тело цикла и запускать. Можно, конечно, пойти через функцию Dir и цикл с while, но здесь кому как удобнее. Многоточие тоже надо будет поправить.
Изменено: Все_просто - 16.03.2018 11:21:34
С уважением,
Федор/Все_просто
 
Ahaf, у вас задача то состоит в том чтобы собрать эти файлы без учета лишних строк, или нужно именно по удалять в источниках ненужные строки? Если файлы нужно собрать, то приложите архив с файлом примером. Покажу как это можно сделать в PQ. А если именно удалять, то это лучше макросом.
Вот горшок пустой, он предмет простой...
 
Всем огромное спасибо!  
 
Распакуйте в папку С:\2 и наслаждайтесь вариантом на Power Query.
Вот горшок пустой, он предмет простой...
Страницы: 1
Наверх