| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > VB6 > Переместить лист в другую книгу |
| Автор: Aline 16.3.2007, 11:19 |
| Всем привет! Первый раз пишу макрос для Excel. Суть в том что по нажатию кнопки у меня добавляется лист, на нем формируется таблица, а в конце хотелось бы результат этой работы перенести в другую книгу, на новый лист. В редакторе написала: Sheets(inZ).Select Sheets(inZ).Move Application.WindowState = xlMinimized Всё замечательно работает, лист перемещается в новую книгу, название которой формирует автоматически Excel (напр, Книга2.xls) Проблема в том, что хотелось бы всё-таки давать пользоватлю выбор, куда этот лист перемещать, пусть бы появлялось окно сохранения, в котором можно было бы выбрать книгу в которую добавить лист, но вот как это сделать? Добавлено @ 11:27 Устроил бы даже такой диалог, как пояляется после выбора команды "Переместить/скопировать лист..." из меню Правка |
| Автор: Kirill89 16.3.2007, 18:58 |
| Я могу только предположить, так-как неособо знаком с vba, возможно у move указать параметр, или moveto |
| Автор: Naghual 16.3.2007, 19:29 |
| Стандартных методов для этого нет. Нужно мутит самим. |
| Автор: Akina 16.3.2007, 19:46 |
| [code=vb] Sub КопированиеЛистаВНужнуюКнигу() Sheets("ИмяКопируемогоЛистаЛиста").Copy After:=Workbooks("ИмяКнигиВКоторуюКопировать.xls").Sheets("ЛистПослеКоторогоВставить") End Sub |
| Автор: Aline 19.3.2007, 10:03 | ||||
Я попробовала сделать так:
но на строке
появляется ошибка : Subscript out of range |
| Автор: Akina 19.3.2007, 10:50 |
На что ругается - на коллекцию книг или на массив листов? |
| Автор: Aline 19.3.2007, 10:51 |
| похоже, на массив листов Добавлено @ 10:53 хотя и на это тоже Workbooks(OpenFileName): в окне Watches напротив этого значения написано Subscript out of range |
| Автор: Akina 19.3.2007, 11:26 |
| А книга, в которую копируется лист, открыта??? |
| Автор: Aline 19.3.2007, 11:30 |
| Книга открыта, но не активна. Когда пытаюсь сделать её активной, тоже ругается |
| Автор: Akina 19.3.2007, 11:36 |
Вот эту проблему и лечите. Ноги растут именно оттуда. |
| Автор: Aline 19.3.2007, 12:06 |
| если бы ещё знать как лечить, потому как с макросами и Visual Basic'ом я впервые столкнулась на прошлой неделе |
| Автор: Naghual 19.3.2007, 12:28 | ||
Привожу код модуля книги, в которой формируется Лист:
|
| Автор: Aline 19.3.2007, 12:40 |
| Naghual, спасибо, сейчас попробую |
| Автор: Aline 19.3.2007, 14:32 |
| Naghual, всё замечательно работает, спасибо огромное |
| Автор: Naghual 19.3.2007, 14:43 |
| Всегда пожалуйста. Можно еще извернутся и нарисовать диалог выбора Листа, после которого вставлять. |