Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Создание обработчика для листа с исп. Activate и Deactivate - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Создание обработчика для листа с исп. Activate и Deactivate
anyxxxxxxi Дата: Воскресенье, 25.12.2022, 14:02 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Добрый день!
Есть такая задачка - "Создать обработчик для Листа1, в котором при перемещении в любую ячейку столбца D этот столбец скрывается. При уходе с листа столбец открывается."

Первая часть работает только при уходе с листа (как только мы ставим курсор в ячейку столбца Д, он должен стать скрытым, однако у меня он скрывается только при уходе с Листа1). Вторая часть не работает вообще, выдаёт ошибку. (скрытый столбец D должен появиться при уходе с Листа1)
Работаю с VBA совсем недавно, хотелось бы разобраться. Пример моего кода прикрепляю. Заранее спасибо!
К сообщению приложен файл: 9380189.xlsm (14.6 Kb)
 
Ответить
СообщениеДобрый день!
Есть такая задачка - "Создать обработчик для Листа1, в котором при перемещении в любую ячейку столбца D этот столбец скрывается. При уходе с листа столбец открывается."

Первая часть работает только при уходе с листа (как только мы ставим курсор в ячейку столбца Д, он должен стать скрытым, однако у меня он скрывается только при уходе с Листа1). Вторая часть не работает вообще, выдаёт ошибку. (скрытый столбец D должен появиться при уходе с Листа1)
Работаю с VBA совсем недавно, хотелось бы разобраться. Пример моего кода прикрепляю. Заранее спасибо!

Автор - anyxxxxxxi
Дата добавления - 25.12.2022 в 14:02
pechkin Дата: Воскресенье, 25.12.2022, 14:40 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 332
Репутация: 49 ±
Замечаний: 0% ±

2003
Здравствуйте![vba]
Код
Private Sub Worksheet_Activate()
Columns("D:D").EntireColumn.Hidden = False
End Sub
Private Sub Worksheet_Deactivate()
Columns("D:D").EntireColumn.Hidden = False
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim col As Range: Set col = Range("D:D")
   If Not Intersect(col, Target) Is Nothing Then
        Columns("D:D").EntireColumn.Hidden = True 'Скрывает столбец
   End If
End Sub
[/vba]
К сообщению приложен файл: 9380189_.xls (32.5 Kb)


Сообщение отредактировал pechkin - Воскресенье, 25.12.2022, 14:42
 
Ответить
СообщениеЗдравствуйте![vba]
Код
Private Sub Worksheet_Activate()
Columns("D:D").EntireColumn.Hidden = False
End Sub
Private Sub Worksheet_Deactivate()
Columns("D:D").EntireColumn.Hidden = False
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim col As Range: Set col = Range("D:D")
   If Not Intersect(col, Target) Is Nothing Then
        Columns("D:D").EntireColumn.Hidden = True 'Скрывает столбец
   End If
End Sub
[/vba]

Автор - pechkin
Дата добавления - 25.12.2022 в 14:40
anyxxxxxxi Дата: Воскресенье, 25.12.2022, 22:16 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

pechkin, спасибо большое, разобралась!
 
Ответить
Сообщениеpechkin, спасибо большое, разобралась!

Автор - anyxxxxxxi
Дата добавления - 25.12.2022 в 22:16
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!