Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.10.2018, 09:34   #11
jillitil
Форумчанин
 
Аватар для jillitil
 
Регистрация: 17.10.2018
Сообщений: 184
По умолчанию

Цитата:
Сообщение от autostavrroute Посмотреть сообщение
Хотел еще чтобы активной была ячейка например А1
Вот рабочий код. Вставляете и меняете названия листов "s1", "s2", ... . Думаю код понятен.

Код:
Private ProcAct As Boolean
Private Sub Worksheet_Activate()
  If ProcAct Then Exit Sub Else ProcAct = True
  Ass = ActiveSheet.Name
  Application.ScreenUpdating = False
  For Each Sheet In Worksheets(Array("s1", "s2"))
    Sheet.Activate
    Sheet.Range("A:I").Delete
    Sheet.Range("A1").Select
  Next
  Worksheets(Ass).Activate
  Application.ScreenUpdating = True
  ProcAct = False
End Sub
Ошибка была в том что нельзя применять метод .Select на невидимые на экране объекты.

Последний раз редактировалось jillitil; 18.10.2018 в 09:41.
jillitil вне форума Ответить с цитированием
Старый 18.10.2018, 21:53   #12
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

дело не настроении...
на четко и ясно сформулированный вопрос приятно дать точный и исчерпывающий ответ
понимаете?
на гов..нно сформилированный вопрос хочеться бл..вать
если Вам по душе реакция 2... продолжайте, а если интересно получить ответ на свой вопрос, думайте, как его сформулировать. может не получиться с первого раза - не беда, аккуратно уточняйте, что не понятно в формулировке. просто задумайтесь: кому нужен ответ и кто должен приложить максимум усилий

и... извините за бедность речи
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 19.10.2018, 18:05   #13
autostavrroute
Пользователь
 
Регистрация: 07.06.2018
Сообщений: 40
По умолчанию

Мысль понимаю, не могу практически догнать
Если рассмотреть простой пример есть лист "report1" есть его результат после обработки "Лист1" Надо чтобы после изменения содержимого листа "report1" выполнился макрос и курсор перешел на "Лист1" в ячейку B11
пишу в конце макроса

Цитата:
Sheets("Лист1").Select
Range("B11").Select
Выдает ошибку, что не так?
autostavrroute вне форума Ответить с цитированием
Старый 19.10.2018, 22:34   #14
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от autostavrroute Посмотреть сообщение
пишу в конце макроса
в конце какого макроса Вы это пишете?
Какую ошибку выдаёт?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.10.2018, 05:41   #15
autostavrroute
Пользователь
 
Регистрация: 07.06.2018
Сообщений: 40
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
в конце какого макроса Вы это пишете?
Какую ошибку выдаёт?
Тот макрос не мешает и работает корректно. Упрощаем - его нет.
Событие листа "Лист1" стоит или активация или изменение - (все равно)
Цитата:
Private Sub Worksheet_Activate()
Sheets("Лист2").Select
Range("B11").Select
End Sub
Переходит на Лист2 и при действие с B11 выдает ошибку
Run time error 1004
Метод Select из класса Range завершен не верно
autostavrroute вне форума Ответить с цитированием
Старый 20.10.2018, 16:14   #16
jillitil
Форумчанин
 
Аватар для jillitil
 
Регистрация: 17.10.2018
Сообщений: 184
По умолчанию

Цитата:
Сообщение от autostavrroute Посмотреть сообщение
с B11 выдает ошибку
Используя Range добавляйте всегда ActiveSheet.
Код:
ActiveSheet.Range("B11").Select
jillitil вне форума Ответить с цитированием
Старый 21.10.2018, 12:17   #17
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Цитата:
Сообщение от autostavrroute Посмотреть сообщение
Переходит на Лист2 и при действие с B11 выдает ошибку
Run time error 1004
Метод Select из класса Range завершен не верно
- так и должно быть, код из модуля листа ищет диапазоны именно в своём листе, если лист не указан явно. Как лечить - см. выше.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалить НД макросом resembe Microsoft Office Excel 4 20.04.2015 08:49
НЕ МОГУ УДАЛИТЬ СТОЛБЦЫ И СТРОКИ Аслан Абдрахманов Microsoft Office Excel 2 11.02.2014 08:56
Удалить из массива A(N,M) строки и столбцы nuklon712 Помощь студентам 3 19.12.2012 14:09
как выделить столбцы макросом kartol Microsoft Office Excel 11 16.06.2012 17:05
Удалить столбцы из матрицы DarkDeidara Помощь студентам 0 02.12.2010 16:18