|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
30.05.2012, 22:13 | #1 |
Новичок
Джуниор
Регистрация: 30.05.2012
Сообщений: 5
|
Копирование листов имеющих общий символ в названии.
Доброго дня. Есть книга excel, которую создает сторонняя программа, в книге помимо прочих листов есть листы имеющие названия N1,N2,N3,N... (до бесконечности). Задача скопировать, все имеющие в названии букву N листы, один в один (т.е. без изменений, в т.ч. само название листа) в новую (автоматически создаваемую) книгу.
Прошу помощи, заранее спасибо. |
31.05.2012, 07:09 | #2 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Задача простая, но есть "куча" уточняющих вопросов:
1. Где (в какой книге) должен располагаться макрос копирования нужных листов? 2. Как запускать процедуру копирования (вручную, по какому-либо событию и т.п.) 3. Как указать макросу на исходную книгу? (конкретное имя? выбор из каталога?) 4. Какое имя присваивать создаваемой книге? 5. Нужно ли ее куда-либо сохранять? Закрывать после сохранения? 6. Что делать, если такая книга уже существует? 7. Что делать, если в исходной книге нет ни одного листа, удовлетворяющего условию? 8. Возможно ли в копируемых листах наличие ссылок и связей? Если "да", то что с ними делать после копирования?
Чем шире угол зрения, тем он тупее.
|
31.05.2012, 09:33 | #3 |
Новичок
Джуниор
Регистрация: 30.05.2012
Сообщений: 5
|
1 Макрос распологается в исходной книге, с которой надо скопировать листы.
2 Копирование запускается путем нажатие кнопки, к которой привязан макрос. (мною реализованно, так как копирование часть всего процесса) 3 Макрос должен работать в исходной книге, соответственно с ней же и работает. (книга открыта) На данный момент реализация задачи есть, но к сожалению только для 1-го листа. 4,5 Имя не принципиально. Сохранять, закрывать и прочие действия с книгой будут производится вручную. 6 Шанс на то, что будет открыта книга с таким же названием практически нулевой. Но возможно новую книгу будет не лишним обозвать "new 00.00.00" (где нули текущая дата) При повторном формировании с такой же датой предложить её перезаписать (ну типа закрыть старую и открыть новую) 7 Лист с таким условием есть однозначно, формирование такого листа является обязательным условием стороней программы. Колличество может отличатся от 1 до бесконечности. 8 ссылки и связи будут обязательно, желательно их "разрушить". Типа функции "копировать - вставить занчения" В принципе большинство задач мною освоенны, я торможу на моменте множественного выбора по одному условию. С макросами не работал, это первый опыт. Пока справлялся в написании путем записи макроса. Заранее спасибо. Последний раз редактировалось a-muz; 31.05.2012 в 09:39. |
31.05.2012, 09:43 | #4 |
Новичок
Джуниор
Регистрация: 30.05.2012
Сообщений: 5
|
Макрос
Sub Gen()
Sheets("N1").Copy After:=Sheets(Sheets.Count) Range("I80:K80").Select ActiveCell.FormulaR1C1 = "=(K!R[-59]C[-5])" Range("I80:K80").Select ActiveCell.FormulaR1C1 = "=K!R[-59]C[-5]*1.25" Range("I81:K81").Select MsgBox "Формирование завершено" End Sub |
31.05.2012, 10:30 | #5 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
Тогда, примерно так:
Код:
Чем шире угол зрения, тем он тупее.
|
31.05.2012, 10:52 | #6 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Если бы не макрос в этом файле - то имхо проще (и думаю быстрее, хотя зависит конечно от количества) удалить "прочие листы" и сохранить книгу под другим именем.
Про имя для сохранения - я обычно в таких случаях формирую имя в формате гггг.мм.дд-чч.мм.сс. Так гарантированно не будет повтора в имени, избегаем лишних "кододвижений", ни один файл не будет потерян. И сортируется по имени удобно, в хронологическом порядке (если текстовая составляющая разная - её можно писать в конец).
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 31.05.2012 в 11:01. |
31.05.2012, 11:22 | #7 |
Новичок
Джуниор
Регистрация: 30.05.2012
Сообщений: 5
|
Большое спасибо
Спасибо, все работает. В ответ хотелось бы быть полезным.
|
31.05.2012, 11:26 | #8 |
Новичок
Джуниор
Регистрация: 30.05.2012
Сообщений: 5
|
К сожалению макрос пишется для книги, которой будут пользоватся большое колличество сотрудников. Сохранение в архивах по уникальным номером может привести к "потере ориентации" у некоторых индивидов, что может негативно отразится на результате работы. ))))
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Копирование листов (не работает) | WIC | Microsoft Office Excel | 1 | 29.02.2012 15:11 |
Копирование данных из 2-ух листов в один | Marishka2011 | Microsoft Office Excel | 0 | 01.04.2011 16:32 |
Копирование листов из закрытой книги | rubius2008 | Microsoft Office Excel | 6 | 05.02.2011 22:44 |
Сравнение листов в книге, и копирование значений | Josser | Microsoft Office Excel | 10 | 22.07.2009 08:26 |
копирование листов из закрытых книг | mephist | Microsoft Office Excel | 4 | 10.07.2009 17:18 |