Страницы: 1
RSS
Замена и добавление данных в нескольких файлах без их открывания
 
Добрый день. Я "очень" начинающий писатель макросов.
Мне помогли написать макрос - см загруженный файл Замена в папке. с помощью которого я могу не открывая каждый файл заменить найденное слово ННОС 11 на ВНГС 22.
Но мне необходимо кроме того в каждый из этих файлов открываемых файлов
1. вставить две строки:
СУБПОДРЯДЧИКООО   "й", по ОКПО
(организация, адрес, телефон, факс)
 
E l e n a, я правильно понял, что вставлять строки надо на лист Заголовок в строки 8-9?
Вы в курсе, что ваш макрос заменяет значения на том листе, который окажется активным при открывании файла, то есть на листе, который был активен при предыдущем сохранении файла?
Может быть, следует работать с каким-то определенным листом, по имени или по порядковому номеру, или со всеми листами книги?
 
Да вы правильно поняли добавить 8 и 9 строки и всегда один и тот же текст.
Я в курсе что текст заменяется на текущем листе и очень хотелось чтобы открывался лист или с конкретным именем или лист на котором находится заменяемая фраза.
 
Цитата
E l e n a написал:
очень хотелось чтобы открывался лист или с конкретным именем
А имя листа во всех файлах одинаковое, или лист всегда имеет один и тот же индекс?
Изменено: Nordheim - 18.10.2018 08:19:28
"Все гениальное просто, а все простое гениально!!!"
 
Иногда встречается другое имя (редко)
Про индекс листа слышу первый раз.
МОЖНО ЛИ СДЕЛАТЬ ТАК , ЕСЛИ ИМЯ ЛИСТА НЕ СОВПАДАЕТ ИЩИ ПО ТЕКСТУ на всех листах
 
А если предположим имя листов МНОГО, то каждый просматривать? Вариант, что на другом листе найдет совпадение и отредактирует, не то что нужно.
Цитата
E l e n a написал:
Про индекс листа слышу первый раз.
К листу можно обращаться по разному:
-через имя
Код
Worksheets("Name")

-напрямую через имя объекта в VBAProject  
Код
Sheet1 либо Лист1
если у Вас свои имена то смотрите какие и обращаетесь непосредственно к ним.
-через индекс
Код
Worksheets(i)
где i это индекс (номер) листа по порядку в VBAProject.
"Все гениальное просто, а все простое гениально!!!"
 
Спасибо. Но изначально был вопрос. Как изменить макрос. чтобы добавлялись еще 2 строки всегда с одним и тем же текстом.
 
Цитата
E l e n a написал:
Но изначально был вопрос. Как изменить макрос. чтобы добавлялись еще 2 строки всегда с одним и тем же текстом
что бы изменить макрос нужно понимать , что этот макрос делает, поэтому я и задал вопрос про листы, если вам нужно вставлять 2 строки на активный лист вновь открытой книги, то это делается так
Код
Sub test()
    Листисточник.Rows(i).Resize(2).Copy
    Листполучатель.Rows(j).Insert
End Sub

Где i и j номера строк.
"Все гениальное просто, а все простое гениально!!!"
 
Вставка 2 строк с добавлением   одного  и того же текста на активный лист .

Код
Sub test()
    Dim i&
    i = 59
    Rows(i).Resize(2).Insert
    Rows(i).Resize(, 5) = Array("бла", "бла", "бла", "бла", "бла")
    Rows(i + 1).Resize(, 5) = Array("бла1", "бла2", "бла3", "бла4", "бла5")
End Sub
"Все гениальное просто, а все простое гениально!!!"
 
Спасибо. Сейчас попробую.
 
А куда в моем макросе я добавляю
Код
Dim i&    i = 59
    Rows(i).Resize(2).Insert
    Rows(i).Resize(, 5) = Array("бла", "бла", "бла", "бла", "бла")
    Rows(i + 1).Resize(, 5) = Array("бла1", "бла2", "бла3", "бла4", "бла5")

Я же начинающий писатель. Сама не смогла определить местоположение.
 
Цитата
E l e n a написал: Как изменить макрос. чтобы добавлялись еще 2 строки всегда с одним и тем же текстом.
Сообщите откуда макрос будет брать этот текст?

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Есть 2 варианта:
1. Текст один и тот же - забить в макрос
или (лучше)
2. в файле Замена в Папке прописать.
Прикрепленные файлы
 
Где можно найти самоучитель по написанию макросов. Может кто подскажет.
 
Цитата
E l e n a написал:  (лучше)2. в файле Замена в Папке прописать.
И где Вы в указанном файле прописали? Я не вижу.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Строки которые надо добавить в файле выделены желтым цветом.
 
Тестируйте.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Огромное спасибо!!!
Страницы: 1
Наверх