Elettracompany.com

Компьютерный справочник
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Excel vba вызов формы

5.2 Создание форм и самые важные свойства и методы форм

Создание форм VBA, свойства форм, методы Show(), Hide(), команда Unload, событие Initialize()

Создать форму очень просто: для этого достаточно в редакторе Visual Basic щелкнуть правой кнопкой мыши по проекту (то есть документу) в окне Project Explorer и в контекстном меню выбрать Insert -> User Form. Откроется окно дизайнера форм (Form designer), в котором будет представлено пустое серое окно формы (по умолчанию она будет называться UserForm1) и рядом — Toolbox, панель с набором элементов управления (см. рис. 5.1).

Рис. 5.1 Все готово для работы с формой

Если у вас включен показ окна свойств (он включается по клавише ), то в этом окне будут представлены свойства формы. Переход на код для этой формы (по умолчанию открывается событие Click) — по клавише , возврат обратно в окно дизайнера форм — по + .

Очень удобно, что для форм и элементов управления можно настраивать свойства при помощи графического интерфейса окна свойств — резко уменьшается количество программного кода, которое нужно писать вручную.

Некоторые самые важные свойства форм (кроме ShowModal, все они применимы и для других элементов управления):

  • свойство (Name) — определяет имя формы. Пользователь, скорее всего, его никогда не узнает. Имя формы используется только программистом в программном коде для этой формы (и в окнах редактора Visual Basic). После создания формы ее имя, предлагаемое по умолчанию (UserForm) рекомендуется заменить на что-либо более значимое, чтобы было проще ориентироваться в программе (это относится ко всем элементам управления);
  • свойство Caption — определяет заголовок формы (по умолчанию совпадает с именем формы). Рекомендуется ввести строку, которая будет напоминать пользователю о назначении формы (например, «Выбор типа отчета»);
  • свойство Enabled — если установлено в False, пользователь работать с формой не сможет. Используется для временного отключения формы, например, пока пользователь не обеспечит какие-то условия для ее работы;
  • свойство ShowModal — если установлено в True (по умолчанию), пользователь не может перейти к другим формам или вернуться в документ, пока не закроет эту форму. В версиях до VBA6 поддерживались только модальные формы.

Большая часть основных свойств относится к внешнему виду, размерам и местонахождению окон.

Самые важные методы форм:

В процессе редактирования формы (из окна редактора Visual Basic) форму можно запускать по нажатию клавиши . После того, как форма будет готова, вы должны обеспечить запуск этой формы в документе. Для запуска формы нужно воспользоваться методом Show():

Если форма уже была загружена в память, она просто станет видимой, если еще нет — то будет автоматически загружена (произойдет событие Load).

Саму эту команду, можно вызвать, например:

  • из обычного макроса, привязанного к кнопке или клавиатурной комбинации;
  • из автозапускаемого макроса (макроса с названием AutoExec для Word);
  • из кода для элемента управления, расположенного в самом документе (например, CommandButton) или на другой форме — для перехода между формами;
  • поместить ее в обработчик события Open для документа Word или книги Excel, чтобы форма открывалась автоматически при открытии документа.

После того, как пользователь введет/выберет нужные данные на форме и нажмет на требуемую кнопку, форму необходимо убрать. Можно для этой цели воспользоваться двумя способами:

спрятать форму (использовать метод Hide()), например:

форма будет убрана с экрана, но останется в памяти. Потом при помощи метода Show() можно будет опять ее вызвать в том же состоянии, в каком она была на момент «прятанья», а, можно, например, пока она спрятана, программно изменять ее и расположенные на ней элементы управления. Окончательно форма удалится из памяти при закрытии документа;

если форма больше точно не потребуется, можно ее удалить из памяти при помощи команды Unload:

Остальные методы относятся либо к обмену данными через буфер обмена (Copy(), Cut(), Paste()), либо к служебным возможностям формы ( PrintForm(), Repaint(), Scroll()).

Важнейшая концепция VBA — события. Событие (event) — это что-то, что происходит с программой и может быть ей распознано. Например, к событиям относятся щелчки мышью, нажатия на клавиши, открытие и закрытие форм, перемещение формы по экрану и т.п. VBA построен таким образом, чтобы создавать на нем программы, управляемые событиями (event-driven). Такие программы противопоставляются устаревшему процедурному программированию.

Самые важные события форм:

  • Initialize — происходит при подготовке формы к открытию (появлению перед пользователем). Обычно в обработчик для этого события помещается код, связанный с открытием соединений базы данных, настройкой элементов управления на форме, присвоение им значений по умолчанию и т.п.
  • Click (это событие выбирается по умолчанию) и DblClick — реакция на одиночный и двойной щелчок мыши соответственно. Для формы это событие используется не так часто. Обычно обработчик щелчков используется для кнопок (элементов управления CommandButton). По причине простоты мы использовали это событие для демонстрации нашего кода.
  • Error — это событие используется при возникновении ошибки в форме, используется как возможность предоставить пользователю исправить сделанную им ошибку. Подробнее — в специальном модуле, посвященном ошибкам и отладке.
  • Terminate — событие используется при нормальном завершении работы формы и выгрузке ее из памяти (например, по команде Unload). Обычно используется для разрыва открытых соединений с базой данных, освобождения ресурсов, протоколирования и т.п. Если работа формы завершается аварийно (например, запустившее форму приложение выдало команду End), то это событие не возникает.
  • остальные события связаны либо с изменением размера окон, либо с нажатиями клавиш, либо с активизацией (получением фокуса)/деактивизацией (потерей фокуса).

Поскольку форма — это во многом просто контейнер для хранения других элементов управления, главное ее событие — Initialize. Все остальные события обычно используются не для формы, а для расположенных на ней элементов управления.

Некоторые моменты, связанные с созданием и редактированием форм:

  • Формы, создаваемые в Microsoft Access, не являются стандартными, как формы остальных приложений Office, и набор свойств и методов у них несколько отличается. Тем не менее по функциональности они практически одинаковы.
  • Иногда для обсуждений формы удобно распечатать. Для этого предусмотрено специальное диалоговое окно, которое можно вызвать по нажатию кнопки +

(при выбранной форме в дизайнере).

  • Если все нужные вам элементы управления трудно уместить на одной форме (даже большого размера), в вашем распоряжении два варианта: воспользоваться двумя формами (переходя между ними при помощи методов Show() и Hide(), подвязанных к элементам управления) или воспользоваться несколькими вкладками для формы. Для этой цели в вашем распоряжении — специальный элемент управления Multipage.
  • 5.2 Создание форм и самые важные свойства и методы форм

    Создание форм VBA, свойства форм, методы Show(), Hide(), команда Unload, событие Initialize()

    Создать форму очень просто: для этого достаточно в редакторе Visual Basic щелкнуть правой кнопкой мыши по проекту (то есть документу) в окне Project Explorer и в контекстном меню выбрать Insert -> User Form. Откроется окно дизайнера форм (Form designer), в котором будет представлено пустое серое окно формы (по умолчанию она будет называться UserForm1) и рядом — Toolbox, панель с набором элементов управления (см. рис. 5.1).

    Рис. 5.1 Все готово для работы с формой

    Если у вас включен показ окна свойств (он включается по клавише ), то в этом окне будут представлены свойства формы. Переход на код для этой формы (по умолчанию открывается событие Click) — по клавише , возврат обратно в окно дизайнера форм — по + .

    Очень удобно, что для форм и элементов управления можно настраивать свойства при помощи графического интерфейса окна свойств — резко уменьшается количество программного кода, которое нужно писать вручную.

    Некоторые самые важные свойства форм (кроме ShowModal, все они применимы и для других элементов управления):

    • свойство (Name) — определяет имя формы. Пользователь, скорее всего, его никогда не узнает. Имя формы используется только программистом в программном коде для этой формы (и в окнах редактора Visual Basic). После создания формы ее имя, предлагаемое по умолчанию (UserForm) рекомендуется заменить на что-либо более значимое, чтобы было проще ориентироваться в программе (это относится ко всем элементам управления);
    • свойство Caption — определяет заголовок формы (по умолчанию совпадает с именем формы). Рекомендуется ввести строку, которая будет напоминать пользователю о назначении формы (например, «Выбор типа отчета»);
    • свойство Enabled — если установлено в False, пользователь работать с формой не сможет. Используется для временного отключения формы, например, пока пользователь не обеспечит какие-то условия для ее работы;
    • свойство ShowModal — если установлено в True (по умолчанию), пользователь не может перейти к другим формам или вернуться в документ, пока не закроет эту форму. В версиях до VBA6 поддерживались только модальные формы.

    Большая часть основных свойств относится к внешнему виду, размерам и местонахождению окон.

    Самые важные методы форм:

    В процессе редактирования формы (из окна редактора Visual Basic) форму можно запускать по нажатию клавиши . После того, как форма будет готова, вы должны обеспечить запуск этой формы в документе. Для запуска формы нужно воспользоваться методом Show():

    Если форма уже была загружена в память, она просто станет видимой, если еще нет — то будет автоматически загружена (произойдет событие Load).

    Саму эту команду, можно вызвать, например:

    • из обычного макроса, привязанного к кнопке или клавиатурной комбинации;
    • из автозапускаемого макроса (макроса с названием AutoExec для Word);
    • из кода для элемента управления, расположенного в самом документе (например, CommandButton) или на другой форме — для перехода между формами;
    • поместить ее в обработчик события Open для документа Word или книги Excel, чтобы форма открывалась автоматически при открытии документа.

    После того, как пользователь введет/выберет нужные данные на форме и нажмет на требуемую кнопку, форму необходимо убрать. Можно для этой цели воспользоваться двумя способами:

    спрятать форму (использовать метод Hide()), например:

    форма будет убрана с экрана, но останется в памяти. Потом при помощи метода Show() можно будет опять ее вызвать в том же состоянии, в каком она была на момент «прятанья», а, можно, например, пока она спрятана, программно изменять ее и расположенные на ней элементы управления. Окончательно форма удалится из памяти при закрытии документа;

    если форма больше точно не потребуется, можно ее удалить из памяти при помощи команды Unload:

    Остальные методы относятся либо к обмену данными через буфер обмена (Copy(), Cut(), Paste()), либо к служебным возможностям формы ( PrintForm(), Repaint(), Scroll()).

    Важнейшая концепция VBA — события. Событие (event) — это что-то, что происходит с программой и может быть ей распознано. Например, к событиям относятся щелчки мышью, нажатия на клавиши, открытие и закрытие форм, перемещение формы по экрану и т.п. VBA построен таким образом, чтобы создавать на нем программы, управляемые событиями (event-driven). Такие программы противопоставляются устаревшему процедурному программированию.

    Самые важные события форм:

    • Initialize — происходит при подготовке формы к открытию (появлению перед пользователем). Обычно в обработчик для этого события помещается код, связанный с открытием соединений базы данных, настройкой элементов управления на форме, присвоение им значений по умолчанию и т.п.
    • Click (это событие выбирается по умолчанию) и DblClick — реакция на одиночный и двойной щелчок мыши соответственно. Для формы это событие используется не так часто. Обычно обработчик щелчков используется для кнопок (элементов управления CommandButton). По причине простоты мы использовали это событие для демонстрации нашего кода.
    • Error — это событие используется при возникновении ошибки в форме, используется как возможность предоставить пользователю исправить сделанную им ошибку. Подробнее — в специальном модуле, посвященном ошибкам и отладке.
    • Terminate — событие используется при нормальном завершении работы формы и выгрузке ее из памяти (например, по команде Unload). Обычно используется для разрыва открытых соединений с базой данных, освобождения ресурсов, протоколирования и т.п. Если работа формы завершается аварийно (например, запустившее форму приложение выдало команду End), то это событие не возникает.
    • остальные события связаны либо с изменением размера окон, либо с нажатиями клавиш, либо с активизацией (получением фокуса)/деактивизацией (потерей фокуса).

    Поскольку форма — это во многом просто контейнер для хранения других элементов управления, главное ее событие — Initialize. Все остальные события обычно используются не для формы, а для расположенных на ней элементов управления.

    Некоторые моменты, связанные с созданием и редактированием форм:

    • Формы, создаваемые в Microsoft Access, не являются стандартными, как формы остальных приложений Office, и набор свойств и методов у них несколько отличается. Тем не менее по функциональности они практически одинаковы.
    • Иногда для обсуждений формы удобно распечатать. Для этого предусмотрено специальное диалоговое окно, которое можно вызвать по нажатию кнопки +

    (при выбранной форме в дизайнере).

  • Если все нужные вам элементы управления трудно уместить на одной форме (даже большого размера), в вашем распоряжении два варианта: воспользоваться двумя формами (переходя между ними при помощи методов Show() и Hide(), подвязанных к элементам управления) или воспользоваться несколькими вкладками для формы. Для этой цели в вашем распоряжении — специальный элемент управления Multipage.
  • Класс UserForm — создание формы vba

    Довольно часто при создании макросов может понадобиться придать им некой “динамичности”. Как и рядовые приложения, редактор VBA предоставляет объект UserForm, который отвечает за создание формы.

    По своей природе, объект vba UserForm представляет из себя пустое диалоговое окно, на поверхность которого можно добавить различные элементы управления (кнопки, списки и так далее). В отличии от тех объектов, с которыми мы работали в сценариях сервера Windows Script Host, объекты VBA помимо свойств и методом, обладают еще и событиями, кроме этого, объекты класса UserForm vba содержат в себе модуль класса, который может хранить собственные методы и свойства, или код для обработки событий.

    Что бы добавить новую форму к vba проекту, воспользуйтесь меню Insert , пункт UserForm . Обратите внимание: в окне Проектов есть папка Forms, в которой хранятся все формы, добавленные в проект, имя для формы назначается автоматически, например, UserForm1, UserForm2,…,UserFormN. Если вы случайно закроете окно формы, то его можно вновь запустить, выбрав нужную форму в окне Проектов. Можете также прочитать предыдущую стать «Знакомство с редактором VBA»

    Некоторые свойства класса UserForm vba языка

    Name – данное свойство содержит имя формы, или, точнее сказать, имя объекта. Нужно понимать, что данное значение доступно только в теле программы и никак не влияет на конечный результат.

    BackColor – содержит цвет фона.

    BorderColor – цвет рамки

    BorderStyle – стиль рамки, принимает только два возможных значения.

    Caption – свойство определяет заголовок формы, фактически, это то т же заголовок окна программы. По умолчанию, данное свойство содержит то же значение, что и свойство Name.

    Enabled – принимает логическое True или False, и определяет, доступна ли форма. Если значение свойства ровно False, то ни один из элементов управления не доступен.

    ShowModal – как и предыдущее свойство, ShowModal может принимать логические значения. True – по умолчанию, “модальный” режим, пока не будет закрыта текущая форма, другая форма или возврат в документ будут недоступны.

    Font – определяет шрифт.

    ForeColor – определяет цвет переднего плана формы, например, цвет текста.

    Некоторые методы класса UserForm vba языка

    Hide – данный метод убирает из видимости форму, делая ее скрытой. Все ее параметры и элементы управления остаются неизменными.

    Repaint – позволяет перерисовать отображаемую форму.

    Show – метод противоположен методу Hide, он делает форму видимой, если она еще не загружена в память, то происходит ее загрузка.

    И так, что бы не томить душу, давайте создадим простую форму, назовем ее “Первая программа” (свойство Caption), у меня имя формы UserForm1. Хорошо, теперь нам нужно написать макрос, при запуске которого будет выводиться форма. Для этого добавляем в проект новый модуль и в окне кода пишем следующее:

    Тут Module1 – имя процедуры, оно совпадает с именем модуля, оно хранится в свойстве Name. Sub … End Sub – это блок процедуры. UserForm1.Show – тут мы вызываем метод Show объекта UserForm1 для отображения формы, помните, UserForm1 – имя моей формы, его тоже можно изменить.

    Все, теперь если запустить текущий макрос, то пользователю просто выведется пустая форма. Можете поэкспериментировать с ее свойствами.

    Некоторые события класса UserForm vba языка

    Если новичок и может справиться со свойствами и методами, то события ему могут показаться чем-то из области пятого пространства. Давайте рассмотрим основные события формы, а потом напишем небольшой пример:

    Activate – событие возникает каждый раз, когда окно формы становится активным.

    Click – происходит клик мышью по поверхности, не занятой элементами управления.

    DblClick – аналог предыдущему событию, только тут происходит двойной клик по форме.

    Deactivate – событие возникает каждый раз, как окно формы переходит в неактивное состояние.

    Initialize – возникает как только происходит загрузка формы в память с помощью метода Show или оператора Load.

    Resize – происходит изменение размеров формы

    Terminate – событие происходит каждый раз, как только форма выгружается из памяти.

    Помним, что для вызова метода или события, сперва идет имя объекта, а потом, после точки, имя метода или свойства. С событиями все по-другому: нам нужно создать процедуру и присвоить ей имя в стиле “Объект_Событие”, то есть, сначала мы пишем имя объекта (например, UserForm1), потом идет символ подчеркивания и имя события.

    Ладно, откройте редактор формы и дважды щелкнете по полю формы, вас сразу перенаправит в редактор кода, где содержатся следующие строки:

    Видим, что данная процедура рассчитана для события Click, давайте в ней пропишем:

    Как вызвать функцию VBA в подпроцедуру

    Я знаю, что это простой вопрос для кого-то там, но я никогда не использовал функциональный модуль вообще, потому что я не понимал, что они были.

    Итак, у меня есть целая куча вещей, для которых я могу использовать это (сократить избыточность), но я хочу знать, как я вызываю подпрограмму (например, нажатие кнопки) из формы.

    Я попробовал это .

    Я знаю, что это довольно плохо, но я понятия не имею, как включить это в процедуру.

    5 ответов

    Вот несколько разных способов называть вещи в Microsoft Access:

    Чтобы вызвать подпрограмму или функцию из модуля

    Подпункт в форме, которую вы вызываете, ДОЛЖЕН быть общедоступным, как в:

    Назовите подпрограмму следующим образом:

    Форма должна быть открыта до совершения звонка.

    Чтобы вызвать процедуру события, вы должны вызвать открытую процедуру в форме и вызвать процедуру события в этой открытой процедуре.

    Вызов подпрограммы в модуле из формы

    . просто позвоните прямо из процедуры вашего мероприятия:

    Вызов подпрограммы из формы без использования процедуры события

    Если вы хотите, вы можете фактически связать функцию с событием элемента управления формы без необходимости создания процедуры события под элементом управления. Чтобы сделать это, вам сначала нужна открытая функция в модуле, а не в подпрограмме, например:

    Затем, если у вас есть кнопка в форме, вместо того, чтобы помещать [Процедура обработки события] в событие OnClick окна свойств, укажите это:

    Когда вы нажимаете кнопку, она вызывает публичную функцию в модуле.

    Чтобы вызвать функцию вместо процедуры

    Если вызов подпрограммы выглядит следующим образом:

    Тогда вызов функции выглядит следующим образом:

    где Result — переменная типа, возвращаемого функцией.

    ПРИМЕЧАНИЕ. Вам не всегда нужно ключевое слово Call. В большинстве случаев вы можете просто вызывать подпрограмму следующим образом:

    если pptCreator — это функция /процедура в том же файле, вы можете вызвать ее, как показано ниже

    Вызов подпроцедуры — трехсторонняя техника

    Если у вас есть процедура, независимо от того, создали ли вы ее или она является частью языка Visual Basic, вы можете использовать ее. Использование процедуры также называется ее вызовом.

    Прежде чем вызывать процедуру, вы должны сначала найти раздел кода, в котором вы хотите ее использовать. Чтобы вызвать простую процедуру, введите ее имя. Вот пример:

    Помимо использования имени процедуры для ее вызова, вы также можете добавить к ней ключевое слово Call. Вот пример:

    При вызове процедуры, без или без ключевого слова Call, вы можете дополнительно ввести открывающую и закрывающую скобки справа от ее имени. Вот пример:

    Процедуры и уровни доступа

    Подобно переменному доступу, доступ к процедуре может контролироваться уровнем доступа. Процедура может быть частной или публичной. Чтобы указать уровень доступа к процедуре, поставьте перед ним ключевое слово Private или Public. Вот пример:

    Правила, которые применялись к глобальным переменным, одинаковы:

    Private: если процедура сделана приватной, ее можно вызвать другими процедурами того же модуля. Процедуры внешних модулей не могут получить доступ к такой процедуре.

    Кроме того, когда процедура является закрытой, ее имя не отображается в диалоговом окне «Макросы»

    Public: процедура, созданная как public, может вызываться процедурами того же модуля и процедурами других модулей.

    Кроме того, если процедура была создана как общедоступная, при доступе к диалоговому окну «Макросы» появляется ее имя, и вы можете запустить ее оттуда

    Процедуры в модуле становятся полезными и общими, когда вы передаете аргументы.

    Теперь может отображать любое сообщение, переданное с помощью строковой переменной с именем strMessage.

    Чтобы добавить функцию к новой кнопке в форме: (и не используйте макрос для вызова функции)

    После того как вы создали свою функцию (Function MyFunctionName ()) и вы находитесь в режиме конструктора форм:

    1. Добавьте новую кнопку (я не думаю, что вы можете переназначить старую кнопку — хотя не уверен).
    2. Когда откроется окно мастера кнопок, нажмите Отмена.
    3. Перейдите в свойства кнопки. Вкладка «Событие» — поле «При нажатии».
    4. В раскрывающемся меню в этих полях выберите: Процедура обработки события.
    5. Теперь нажмите кнопку рядом с раскрывающимся меню, в котором есть . и вы попадете в новую частную подписку в окне форм Visual Basic.
    6. В этом частном типе Sub: Call MyFunctionName
      Это должно выглядеть примерно так:

    Private Sub Command23_Click ()

    Позвонить в MyFunctionName

    1. Тогда просто сохраните его.

    VBA Excel: Как соотносится код в модулях, формах и рабочих листах

    11 ответов

    Если коротко, то ситуация такая:

    1. Модуль — для хранения функций, процедур, переменныx (если он объявлены как Public на верху модуля, то доступны везде). В случае с Excel’ем:
    — если в модуле объявить публичную процедуру Public Sub, то он будет считать ее макросом и можно будет ее увидеть в списке доступных макросов через меню Сервис/Макросы.
    — если же объявить Public функцию, то ее можно будет выбрать в меню функции в разделе: Пользовательские функции.

    2. Каждая форма (в Excel’е они называются UserForm) всегда имеет свой модуль. Они неразрывно связаны. В конструкторе VB при выборе формы можно переключаться между видом самйо формы с контролами и модулем формы. Это модуль не является модулем как в пункте 1, он отличается и потому их выделяют отдельно и называют — модуль формы.
    В модуле формы как и в обычном модуле можно тоже объявлять функции, процедуры и переменные, но помимо этого, именно в нем хранится код обработки СОБЫТИЙ контролов на форме и самой формы.( В верху из выпадающего списка, можно выбрать контрол, а чуть правее — событие и компиллятор автоматом добавит в модуль процедуру обработки события для данного контрола)
    Вторая особенность (которая является ответом на твой второй вопрос) заключается в том, что все функции, процедуры, переменные, а также контролы формы доступны будут только в то время, когда форма — ЗАГРУЖЕНА. Если форма не загружена, ты не сможешь обратиться ни контролу на форме, ни к public переменной из модуля формы (а также функ. и процедуре)
    Под словом загружена — я не имел ввиду, что форма должна быть видима. В VB есть различие между ЗАГРУЗИТЬ форму и ПОКАЗАТЬ форму.
    Load UserForm1 — загрузить форму, при это форма будет висеть в памяти и к ней можно будет обращаться, но она будет НЕВИДИМА.
    UserForm1.Show — показать форму.

    Тонкость тут такая (которая часто путает новичков).
    Если форма НЕЗАГРУЖЕНА, то строка UserForm1.Show приведет автоматом к ЗАГРУЗКЕ формы и ее ПОКАЗУ.
    Если форма была предварительно ЗАГРУЖЕНА, то метод UserForm1.Show приведет соответственно только к ее показу.
    Load UserForm1 удобно использовать для загрузки формы и установки нач. значений для контролов перед ее показом потом пользователю сразу во все красе. А то как-то не очень красиво выглядит, когда форма показывается, а потом на глазах у пользователя конторолы начинают быстренька заполняться новыми значениями 🙂
    Кроме того, часто используют еще и такой трюк, когда заранее известно что пользователь с большое долей вероятности после первой формы откроет еще и вторую, то можно вторую форму загрузить заранее, пока пользователь наслаждается первой формой, а как только он запросит вторую форму, мы уже быстро показываем ему вторую форму, т.к. она уже была загружена но скрыта. Или наоборот делают, когда пользователь закрывают форму, ее программно просто скрывают — UserForm1.Hide и форма скрывается с глаз, НО продолжает висеть в памяти и очень быстро может быть вызвана повторно на экран.

    Выгрузить форму программно можно так — Unload UserForm1

    3. Модуль листа/книги представляет из себя по сути — модуль формы. Смысл такой же. Сам лист/книга имеют события на которые можно написать код и кроме того на сам лист (книги это не касается) можно разместить контрол(кнопку, поле и т.д.) обработчики которых будут доступны опять же в модуле листа.

    Читать еще:  Excel сверху цифры вместо букв
    Ссылка на основную публикацию
    Adblock
    detector