Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Копирование листа без события

5.0K
06 мая 2004 года
uncle
5 / / 03.10.2003
Есть простенькая задачка. Мне нужно скопировать лист, в этом листе есть событие WorkSheet_Change, которое совсем не нужно в скопированном листе. Как правильнее сделать - скопировать его без этого события, либо потом удалить? Если копировать его без события, то какой параметр нужно указать? А если потом удалить, то как?
Знаю, эта очень сложная задача для меня, для вас окажется проще простого, поэтому именно к вам и взываю!
459
06 мая 2004 года
gacol
273 / / 12.02.2003
Цитата:
Originally posted by uncle
Есть простенькая задачка. Мне нужно скопировать лист, в этом листе есть событие WorkSheet_Change, которое совсем не нужно в скопированном листе. Как правильнее сделать - скопировать его без этого события, либо потом удалить? Если копировать его без события, то какой параметр нужно указать? А если потом удалить, то как?
Знаю, эта очень сложная задача для меня, для вас окажется проще простого, поэтому именно к вам и взываю!



Не совсем понятно как копировать - в пределах одной книги и в другую. Исходя из соображений здравого смысла, вероятно, в новую - для передачи.
Вот вариант.
Cells().Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
'сохранение новой книги под задан.именем
ActiveWorkbook.SaveAs Filename:="ваше имя", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
ActiveWindow.Close

5.0K
06 мая 2004 года
uncle
5 / / 03.10.2003
Цитата:
Originally posted by gacol


Не совсем понятно как копировать - в пределах одной книги и в другую. Исходя из соображений здравого смысла, вероятно, в новую - для передачи.
Вот вариант.
Cells().Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
'сохранение новой книги под задан.именем
ActiveWorkbook.SaveAs Filename:="ваше имя", FileFormat:=xlNormal, _
Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, _
CreateBackup:=False
ActiveWindow.Close


Нет, копировать нужно в эту же книгу. Можно, конечно, и путем создания нового листа и копирования заданного диапазона ячеек в новый лист. Но мне казалось, что рациональней будет скопировать лист, но без события. Или может такое не возможно?

258
06 мая 2004 года
SergeySV
1.5K / / 19.03.2003
Цитата:
Originally posted by uncle

Нет, копировать нужно в эту же книгу. Можно, конечно, и путем создания нового листа и копирования заданного диапазона ячеек в новый лист. Но мне казалось, что рациональней будет скопировать лист, но без события. Или может такое не возможно?



В твоем случае прощу будет создать новый лист и скопировать данные - это будет не намного больше по времени, врядли ты сможешь это даже заметить. А при копировании листа копируется весь объект лист, соответсвенно со всеми своими свойствами и модулем. Модуль конечно можно потом отредактировать, но это тебе придется подключить тогда еще одну библиотеку и написать код по поиску модуля и строчек в нем, удаление их - вообщем тот еще гемморой когда тебе нужно токо скопировать данные.

5.0K
06 мая 2004 года
uncle
5 / / 03.10.2003
Цитата:
Originally posted by SergeySV


В твоем случае прощу будет создать новый лист и скопировать данные - это будет не намного больше по времени, врядли ты сможешь это даже заметить. А при копировании листа копируется весь объект лист, соответсвенно со всеми своими свойствами и модулем. Модуль конечно можно потом отредактировать, но это тебе придется подключить тогда еще одну библиотеку и написать код по поиску модуля и строчек в нем, удаление их - вообщем тот еще гемморой когда тебе нужно токо скопировать данные.


Понял.
Спасибо, что растолковали.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог