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