Події робочої книги - не зберігайте за допомогою стоп -панелей - приклади коду VBA

Заморожування панелей за допомогою VBA

Нещодавно я розміщував на панелях заморожування в Excel, ось як це можна зробити за допомогою VBA:

Заморозити рядки

 Рядки ("1: 1"). Виберіть ActiveWindow.FreezePanes = Істина 

Заморожувати стовпці

 Діапазон ("A: A"). Виберіть ActiveWindow.FreezePanes = True

Заморожування рядків і стовпців

 Діапазон ("B2"). Виберіть ActiveWindow.FreezePanes = Істина

Розморожування панелей

 ActiveWindow.FreezePanes = Неправда 

Примусити робочу книгу зберігати без морозильних панелей

Excel дозволяє нам контролювати події за допомогою подій. Ця стаття не є детальним обговоренням того, що таке події або їх особливості. Натомість він наводить приклад події робочої книги. Це події, які проводяться на рівні робочої книги, а не на окремому аркуші.

За допомогою VBA ми можемо контролювати, що відбувається під час певних подій, наприклад перед друком або перед збереженням. Однією із поширених проблем, з якими я стикаюся, є те, що деяким людям, з якими я працюю, не подобаються файли, на яких є «Заморожені панелі».

Тож у цій статті ми збираємо деякий код, який перевірятиме, чи увімкнені панелі заморозки, і якщо так, то файл не буде збережено. Це означає, що я повинен зберегти його без панелей заморозки - щоб мої колеги були задоволені !!

Найважливіше у подіях у зошиті - це те, що вони повинні зберігатися у правильному місці - на рівні робочої книги.

Щоб отримати доступ до рівня книги, виконайте наведені нижче дії.

1. Клацніть правою кнопкою миші книгу Excel - перегляньте код:

2. Це призведе до:

3. Двічі клацніть «Цю книгу», а потім виберіть «Робочий зошит» у першому спадному меню ліворуч:

Ми бачимо, що значення з лівого боку тепер змінилося на "Відкрити" - з деяким кодом для події відкриття книги. Цей код дозволить нам визначити, що станеться, коли книга відкриється вперше.

Однак ми хочемо контролювати те, що відбувається, коли ми зберігаємо книгу. Тому змініть праворуч спадне меню на «Перед збереженням». Тепер екран буде виглядати так:

Тепер ми вставляємо наступний код після оголошення:

Якщо ActiveWindow.FreezePanes = True Тоді MsgBox "Панелі заморожування увімкнено - файл НЕ ЗБЕРЕЖЕНИ" Скасувати = Істинне завершення Якщо

Щоб повний код тепер виглядав так:

Private Sub Workbook_BeforeSave (ByVal SaveAsUI Як Boolean, Скасувати як Boolean) Якщо ActiveWindow.FreezePanes = True Тоді MsgBox "Панелі заморожування ввімкнено - Файл НЕ ЗБЕРЕЖЕНО" Скасувати = True End Якщо End Sub

Тепер збережіть файл, а потім активуйте Панелі заморозки у будь -якому вікні. Потім - ЗБЕРЕГТИ файл. З'явиться вікно повідомлень із повідомленням про те, що "Панелі заморозки" увімкнено - і файл не збережено.

Дійсно, файл не буде збережено, поки не буде видалено Панелі заморожування.

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave