Як заморозити панелі за допомогою VBA в Excel (5 підходящих способів)

  • Поділитися Цим
Hugh West

У цій статті я покажу вам, як можна заморозити панелі аркуша Excel за допомогою Visual Basic of Applications (VBA). Часто під час роботи в Excel нам потрібно заморозити панелі робочого аркуша для зручності та кращої роботи. Сьогодні ви дізнаєтеся, як це можна зробити за допомогою VBA .

Заморожування панелей за допомогою VBA в Excel (Швидкий перегляд)

 Sub Freeze_Panes_Row_and_Column() Range("C4").Select ActiveWindow.FreezePanes = True End Sub 

Завантажити Практичний посібник

Завантажте цей практичний посібник, щоб потренуватися, поки ви читаєте цю статтю.

VBA Freeze Panes.xlsm

Вступ до роботи з панелями зупинки Excel

У Microsoft Excel заморозити панелі означає заморозити рядок або стовпець або обидва таким чином, що навіть якщо ви прокручуєте смугу прокрутки вниз або вправо, цей рядок або стовпець завжди буде видно. Зазвичай це робиться з рядками або стовпцями, які містять заголовки набору даних.

Наприклад, подивіться на набір даних нижче. Тут ми заморозили аркуш до рядка 3 ( Роки ) та стовпчик B ( Найменування продукції ).

Коли ми спустимося вниз робочого аркуша, прокручуючи смугу прокрутки, ми побачимо, що рядки до рядка 3 завжди видно.

Те саме для колонки B поки ми прокручуємо праворуч.

Тепер, щоб заморозити панелі на аркуші вручну, виберіть комірку відразу після рядка і стовпця (Комірка C4 в цьому прикладі) і перейдіть на Перегляд> Стоп-кадри> Стоп-кадри на панелі інструментів Excel.

Щоб заморозити тільки рядок, виділіть весь рядок і перейдіть на Перегляд> Стоп-кадри> Стоп-кадри на панелі інструментів Excel.

Аналогічно, щоб заморозити тільки стовпець, виділіть весь стовпець і перейдіть на Перегляд> Стоп-кадри> Стоп-кадри на панелі інструментів Excel.

⧭ Примітки:

  • Виберіть Заморозити верхній ряд заморозити тільки верхній ряд.
  • Аналогічним чином виберіть Заморозити першу колону заморозити тільки першу колонку.

5 способів заморожування панелей за допомогою VBA в Excel

Ми дізналися, що таке заморожування панелей в Excel і як це зробити вручну. Тепер перейдемо до нашої сьогоднішньої головної теми, як заморозити панелі за допомогою VBA .

1. Заморожування тільки рядка за допомогою VBA в Excel

Перш за все, давайте подивимося, як можна заморозити тільки ряд з VBA .

Як зазначалося раніше, щоб заморозити тільки рядок, спочатку потрібно виділити весь рядок, що знаходиться нижче того, який потрібно заморозити (Рядок 4 у цьому прикладі).

Потім вам потрібно застосувати Заморожування скла командування.

Тож, на сьогоднішній день VBA код буде:

⧭ код VBA:

 Sub Freeze_Panes_Only_Row() Range("C4").EntireRow.Select ActiveWindow.FreezePanes = True Range("C4").Select End Sub 

⧭ Вихід:

Запустіть цей код, і ви побачите, що активний аркуш заморожений до рядка 3 .

⧭ Примітки:

  • Тут ми використали клітинку C4 для виділення будь-якої комірки рядка 4 Ви обираєте його відповідно до своїх потреб.
  • Останній рядок коду Range("C4").Select призначена для зняття виділення з усього рядка 4 (Зняття виділення з будь-якого виділення означає виділення нового виділення, як в Excel, щось повинно залишатися виділеним). За бажанням цей рядок можна опустити.

Детальніше: Як заморозити верхній рядок в Excel (4 простих способи)

2. Заморожування тільки стовпця за допомогою VBA в Excel

Ми бачили, як можна заморозити ряд з VBA Тепер давайте подивимося, як заморозити колонку за допомогою VBA .

Аналогічно до рядка, щоб заморозити тільки стовпець, спочатку потрібно виділити весь стовпець до стовпця, який потрібно заморозити (Стовпець C у цьому прикладі).

Потім вам потрібно застосувати Заморожування скла командування.

Тож, на сьогоднішній день VBA код буде:

⧭ код VBA:

 Sub Freeze_Panes_Only_Column() Range("C4").EntireColumn.Select ActiveWindow.FreezePanes = True Range("C4").Select End Sub 

⧭ Вихід:

Запустіть цей код, і ви побачите, що активний аркуш заморожений до стовпчика C .

⧭ Примітки:

  • Тут ми використали клітинку C4 для виділення будь-якої комірки стовпця C Ви обираєте його відповідно до своїх потреб.
  • Останній рядок коду Range("C4").Select призначена для зняття виділення з усієї колонки C (Зняття виділення з будь-якого виділення означає виділення нового виділення, як в Excel, щось повинно залишатися виділеним). За бажанням цей рядок можна опустити.

Читати далі: Як заморозити 2 стовпці в Excel (5 способів)

3. заморожування як рядка, так і стовпця за допомогою VBA в Excel

Ми бачили, як можна заморозити рядок і стовпець окремо. Цього разу подивимося, як можна заморозити рядок і стовпець разом.

Щоб заморозити і рядок, і стовпець разом, необхідно виділити комірку нижче рядка, який потрібно заморозити, і правіше стовпця, який потрібно заморозити (Комірка C4 у цьому прикладі).

Потім вам потрібно застосувати Заморожування скла командування.

Тож, на сьогоднішній день VBA код буде:

⧭ код VBA:

 Sub Freeze_Panes_Row_and_Column() Range("C4").Select ActiveWindow.FreezePanes = True End Sub 

⧭ Вихід:

Запустіть цей код, і ви побачите, що активний аркуш заморожений до рядка 3 і стовпчик C .

⧭ Примітки:

  • Тут ми використали клітинку C4 для виділення комірки під рядком 3 і праворуч до стовпчика B Це камера. C4 Ви обираєте його відповідно до своїх потреб.

Читати далі: Як заморозити виділені області в Excel (10 способів)

Схожі читання:

  • Як заморозити кілька панелей в Excel (4 критерії)
  • Комбінація клавіш для заморожування панелей в Excel (3 комбінації)
  • Як заморозити перші 3 стовпці в Excel (4 швидких способи)

4. Розробити користувацьку форму для заморожування панелей засобами VBA в Excel

Ми бачили, як можна заморозити рядок або стовпець, або і рядок, і стовпець за допомогою VBA на аркуші Excel.

Зараз ми розробляємо Userform, щоб об'єднати всі окремі завдання в єдиному інтерфейсі.

⧭ Покрокова процедура розробки анкети користувача:

⧪ Крок 1:

  • Преса ALT+F11 на клавіатурі, щоб відкрити Visual Basic
  • В рамках проекту Visual Basic редактора, перейдіть на сторінку Вставити> UserForm вставити новий Анкета користувача .

⧪ Крок 2:

  • Новий UserForm під назвою UserForm1 буде створено в VBA
  • Зліва від UserForm ти отримаєш ToolBox під назвою Контроль Наведіть курсор миші на панель інструментів і знайдіть TextBox (TextBox1) Знайшовши його, перетягніть його на верхню частину UserForm .
  • Аналогічним чином перетягніть ListBox ( ListBox1 ) право на Текстове поле і a CommandButton (Commandbutton1) до правого нижнього кута UserForm Зміна відображення на екрані CommandButton до ГАРАЗД. Твоя UserForm тепер має виглядати так:

⧪ Крок 3:

Вставте Модуль ( Вставка> Модуль ) від VBA інструментарій

⧪ Крок 4:

Вставте наступне VBA код в Модуль .

 Sub Run_UserForm() UserForm1.Caption = "Заморозити вікна" UserForm1.TextBox1.Text = Address.Selection UserForm1.TextBox1.BorderStyle = fmBorderStyleSingle UserForm1.ListBox1.BorderStyle = fmBorderStyleSingle UserForm1.ListBox1.ListStyle = fmListStyleOption UserForm1.ListBox1.AddItem "1. Заморозити рядок" UserForm1.ListBox1.AddItem "2. Заморозити стовпець" UserForm1.ListBox1.AddItem "3.Завантажити UserForm1 UserForm1.Show End Sub 

⧪ Крок 5:

Двічі натисніть на кнопку CommandButton відображається як ГАРАЗД. Приватний підводний човен під назвою CommandButton1_Click Відкриється вікно, в яке потрібно вставити наступний код:

 If UserForm1.ListBox1.Selected(0) = True Then Set Rng = Selection Rng.EntireRow.Select ActiveWindow.FreezePanes = True Rng.Select ElseIf UserForm1.ListBox1.Selected(1) = True Then Set Rng = Selection Rng.EntireColumn.Select ActiveWindow.FreezePanes = True Rng.Select ElseIf UserForm1.ListBox1.Selected(2) = True ThenActiveWindow.FreezePanes = True Else MsgBox "Виберіть хоча б одну. ", vbExclamation End If Вивантажити UserForm1 

⧪ Крок 6:

Аналогічно двічі клацніть по кнопці TextBox1 Приватний підводний човен під назвою TextBox1_Change Відкриється вікно, в яке потрібно вставити наступний код.

 Private Sub TextBox1_Change() On Error GoTo Message Range(TextBox1.Text).Select Message: Note = 5 End Sub 

⧪ Крок 7:

Твій UserForm Виділіть комірку нижче рядка, який потрібно заморозити, і правіше стовпця, який потрібно заморозити (комірка C4 тут), а також запустити Макрос під назвою Run_UserForm .

⧪ Крок 8:

  • На сьогоднішній день, на жаль, це не так. UserForm Ви побачите адресу виділеної комірки ( C4 ) в TextBox При бажанні це можна змінити.
  • Потім оберіть один з трьох варіантів, доступних у розділі ListBox Тут я хочу заморозити і рядок, і стовпець, тому я вибрав Зупинити і рядок, і стовпець .
  • Потім натисніть ГАРАЗД. .

⧪ Крок 9:

Ви знайдете робочий аркуш замороженим відповідно до вашого бажання (тут заморожено до рядка 3 і стовпчик B ).

Пов'язаний контент: Як застосувати стоп-кадр в Excel (6 швидких прийомів)

5. альтернатива заморожування панелей в Excel: розділити вікно за допомогою VBA

Ми багато говорили про склопакети для заморозки Тепер давайте подивимося на дуже корисну альтернативу склопакети для заморозки у форматі Excel, а також у форматі Спліт-вікно командування.

Ви можете ActiveWindow.SplitRow або ActiveWindow.SplitColumn в VBA розбити аркуш на рядки або стовпці.

Наприклад, щоб розділити аркуш з рядка 3 використовуйте:

 ActiveWindow.SplitRow = 3 

Аналогічно, щоб розділити робочий аркуш по стовпчику B використовуйте:

 ActiveWindow.SplitColumn = 2 

⧭ код VBA:

 Sub Split_Window() ActiveWindow.SplitRow = 3 ActiveWindow.SplitColumn = 2 End Sub 

⧭ Вихід:

Запустіть код, він розділить активний аркуш з рядка 3 і стовпчик B .

Стаття на тему: Як застосувати користувацькі панелі заморожування в Excel (3 простих способи)

Важливі моменти для запам'ятовування

  • Перед застосуванням Заморожування скла в Excel необхідно Розморозьте всі морозильні камери В іншому випадку, в разі, якщо не буде застосовано Заморожування скла команда не спрацює.
  • На сьогоднішній день, на жаль, це не так. Заморожування скла команда не спрацює через об'єднані клітини. Отже. злитися їх перед застосуванням перед застосуванням Заморожування скла командування, якщо таке є.

Висновок

Отже, це методи, які потрібно використовувати Заморожування скла з VBA Я намагався обговорити всі можливі варіанти застосування Заморожування скла на робочому аркуші в Excel. Залишилися питання? Не соромтеся задавати їх нам. І не забувайте відвідувати наш сайт ExcelWIKI для отримання додаткової інформації та оновлень.

Г’ю Вест — досвідчений тренер і аналітик Excel із понад 10-річним досвідом роботи в галузі. Він має ступінь бакалавра з бухгалтерського обліку та фінансів і ступінь магістра з ділового адміністрування. Г’ю має пристрасть до викладання та розробив унікальний підхід до викладання, який легко зрозуміти та дотримуватися. Його експертне знання Excel допомогло тисячам студентів і професіоналів у всьому світі вдосконалити свої навички та досягти успіху в кар’єрі. У своєму блозі Г’ю ділиться своїми знаннями зі світом, пропонуючи безкоштовні навчальні посібники з Excel та онлайн-навчання, щоб допомогти окремим особам і компаніям повністю розкрити свій потенціал.