Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Копирование пары листов на другую пару листов. или "что я делаю не так"? 
V
    Опции темы
Валк
Дата 7.2.2007, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 25.5.2006

Репутация: нет
Всего: нет



Задача:
Есть лист1 книги1 и лист2 книги1. Эти листы надо скопировать в другую книгу. Первый лист - "один в один", второй - "только значения".
Написал макрос:
Код

Set Wb_Jornal = ThisWorkbook                                            ' Определяем переменную книги журнала
Set Sh_Jornal = Wb_Jornal.Sheets(1)                                     ' Определяем переменную листа журнала
Set Sh_Blank_Act = Wb_Jornal.Sheets(5)                                  ' Определяем переменную листа шаблона
Set Wb_Act = Workbooks.Add                                              ' Определяем книгу акта
Set Sh_Act = Wb_Act.Sheets(1)                                           ' Определяем лист акта
    Sh_Act.Name = "Акт"                                                 ' Задаём имя листу акта
Wb_Act.Sheets.Add                                                       ' Создаём временный лист
Set Sh_TMP = Wb_Act.Sheets(2)                                           ' Определяем временный лист

Sh_Blank_Act.Cells.Copy                                                 ' Копирование листа акта
Sh_Act.PasteSpecial                                                     ' Вставляем шаблон в лист книги акта
Sh_Jornal.Cells.Copy                                                    ' Копируем лист журнала
Sh_TMP.PasteSpecial                                                     ' Вставляем лист журнала во временный лист

где - лист1 книги1 - Sh_Blank_Act, лист2 книги1 - Sh_Jornal.
Так у меня оба листа копируются строго в лист Sh_Act.

Парни, что я делаю не так?
PM MAIL WWW   Вверх
Genyaa
Дата 7.2.2007, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Усердный
*


Профиль
Группа: Участник
Сообщений: 154
Регистрация: 25.9.2006
Где: Москва

Репутация: 2
Всего: 11



Мне кажется, ошибка здесь:
Код

Wb_Act.Sheets.Add                             
Set Sh_TMP = Wb_Act.Sheets(2)  

Cделав добавление листа (без параметров), лист добавился в начало книги и стал Item=1 (нумерация Item идет по порядку следования ярлыков в книге слева на право), а лист акта стал Item=2.
Как следствие в и Sh_TMP и Sh_Act содержат ссылки на один и тот же объект - лист Акта.

Может быть так будет лучше?:
Код

Set Sh_TMP = Wb_Act.Sheets.Add                             


--------------------
Всякое решение плодит новые проблемы.
PM WWW   Вверх
Валк
Дата 7.2.2007, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 25.5.2006

Репутация: нет
Всего: нет



Genyaa
Спасибо за разъяснение и толковое решение проблемы.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.0438 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.