Excel формы закрыть форму

 

Уважаемые форумчане!  

  Напомните, плиззз, команды в VBA для сохранения и закрытия userform.  

  Спасибо!

 

А что значит сохранить? У формы нет такой функции  

  А закрыть можно так  

  Sub Макрос1()  
   ‘или так  
   Unload UserForm1 ‘закрыть и выгрузить из памяти форму  
   ‘или так      
   UserForm1.Hide ‘скрыть форму  
End Sub  

  метод Hide — просто скрывает формулу от пользователя  
метод Unload (имя формы) — выгружает форму из памяти и закрывает её

 

{quote}{login=Pavel55}{date=28.04.2008 06:41}{thema=}{post}А что значит сохранить? У формы нет такой функции  

  А закрыть можно так  

  Sub Макрос1()  
   ‘или так  
   Unload UserForm1 ‘закрыть и выгрузить из памяти форму  
   ‘или так      
   UserForm1.Hide ‘скрыть форму  
End Sub  

  метод Hide — просто скрывает формулу от пользователя  
метод Unload (имя формы) — выгружает форму из памяти и закрывает её{/post}{/quote}  

  Всем спасибо уже сделал так :-)    
Private Sub CommandButton1_Click()    
Unload userform1  
ActiveWorkbook.Save  
End Sub

 

)) ну, всё правильно) только вы спрашивали о сохранении формы, а сами сохраняете активную книгу ) или нам надо было догадаться ?)

 

СердЖиГ

Гость

#5

29.04.2008 11:34:08

{quote}{login=Pavel55}{date=28.04.2008 10:07}{thema=}{post})) ну, всё правильно) только вы спрашивали о сохранении формы, а сами сохраняете активную книгу ) или нам надо было догадаться ?){/post}{/quote}  

  Павел, сорри, уже вечер был :-)

Содержание

  1. VBA Close UserForm | 2 лучших метода закрытия пользовательской формы с примерами
  2. Excel VBA Закрыть пользовательскую форму
  3. Как закрыть UserForm в Excel VBA?
  4. # 1 — Закройте пользовательскую форму с помощью инструкции «Unload Me» в VBA
  5. # 2 — Закройте UserForm с помощью метода Hide в Excel VBA
  6. Разница между выгрузкой и скрытием в Excel VBA
  7. VBA Закрыть UserForm — Лучшие методы закрытия UserForm в Excel VBA
  8. Excel VBA Закрыть UserForm
  9. Как закрыть UserForm в Excel VBA?
  10. Excel VBA Закрыть UserForm — Пример # 1
  11. Excel VBA Закрыть UserForm — Пример № 2
  12. Excel VBA Закрыть UserForm — Пример № 3
  13. Excel VBA Закрыть UserForm — Пример № 4
  14. То, что нужно запомнить
  15. Рекомендуемые статьи

VBA Close UserForm | 2 лучших метода закрытия пользовательской формы с примерами

Когда мы создаем пользовательскую форму, она принимает данные в качестве ввода от пользователей, но данные, предоставленные форме, не закрываются, поэтому это может ввести пользователя в заблуждение, чтобы снова ввести данные, мы используем две разные команды, чтобы закрыть пользовательскую форму, когда ввод было дано, и это метод Unload me, чтобы закрыть пользовательскую форму, или мы можем использовать метод userform.hide.

Excel VBA Закрыть пользовательскую форму

Пользовательские формы жизненно важны при получении входных данных от пользователя в рамках проекта VBA. Обычно мы разрабатываем форму пользователя до того, как представим ее пользователю. После завершения проектирования пользовательской формы VBA нам нужно показать то же самое перед пользователем и потребовать кодирования VBA. Аналогично, чтобы закрыть пользовательскую форму, требуются знания кодирования VBA.

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

Как закрыть UserForm в Excel VBA?

Как только назначение пользовательской формы выполнено, есть смысл продолжать показывать пользовательскую форму перед пользователем, поэтому нам нужно закрыть пользовательскую форму. Мы можем закрыть пользовательскую форму с помощью операторов «Unload Me» и «UserForm.Hide». Хотя оба они немного отличаются друг от друга, в конечном итоге они послужат нашей цели.

Вы можете скачать этот шаблон VBA Close UserForm Excel здесь — VBA Close UserForm Excel Template

# 1 — Закройте пользовательскую форму с помощью инструкции «Unload Me» в VBA

Например, посмотрите на изображение пользовательской формы ниже.

Я назвал пользовательскую форму «MyUserForm».

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

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

После нажатия кнопки отправки он захватил данные, которые я ввел в пользовательскую форму.

Если вы заметили, у нас есть еще одна кнопка под названием «Отмена». Что это значит?

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

Теперь я дважды щелкну кнопку «Отмена», и откроется автоматическая подпроцедура VBA, как показано ниже.

В этой процедуре нам нужно написать код VBA о том, что должно произойти, если мы нажмем кнопку «Отмена». Когда мы нажимаем на эту кнопку отмены, она должна закрыть пользовательскую форму, над которой мы сейчас работаем.

Итак, напишите код как «Разгрузите меня».

Код:

«Разгрузить меня» — это слово, которое мы используем, чтобы закрыть пользовательскую форму, над которой мы работаем. Здесь пользовательская форма распознает слово «Я» как саму UserForm.

«Выгрузить меня» можно использовать только в этой процедуре пользовательской формы, мы не можем вызывать этот оператор в других модулях. При вызове отобразится сообщение об ошибке « Недопустимое использование ключевого слова « Я »».

Хорошо, давайте теперь запустим код с помощью клавиши F5 или вручную, мы увидим пустую пользовательскую форму.

Заполните данные и нажмите «Отправить».

После нажатия кнопки отправки значения будут сохранены в указанных ячейках.

Если ввод данных завершен, нам нужно закрыть пользовательскую форму, не так ли?

Итак, нажмите кнопку «Отмена», чтобы закрыть пользовательскую форму, она закроет пользовательскую форму.

# 2 — Закройте UserForm с помощью метода Hide в Excel VBA

Мы также можем закрыть Userform, используя метод «Hide» в VBA. Теперь я еще раз дважды щелкну по кнопке отмены, чтобы увидеть частную подпроцедуру.

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

Чтобы использовать метод Hide, нам нужно вызвать пользовательскую форму по ее имени. В данном случае имя нашей пользовательской формы — «MyUserForm».

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

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

Теперь, не нажимая кнопку «Отправить», я нажимаю кнопку отмены, она скроет пользовательскую форму.

Разница между выгрузкой и скрытием в Excel VBA

У вас должен быть вопрос, в чем разница между Unload & Hide, где оба служат одной цели. Между этими двумя есть разница. Теперь сначала я воспользуюсь оператором Unload Me. Посмотрите на изображение ниже.

Я ввел данные в пользовательскую форму, но еще не отправил их. Если я нажму «Отмена», пользовательская форма будет выгружена.

Теперь я снова запущу код с помощью сочетания клавиш Excel F5 или вручную, он отобразит пустую пользовательскую форму.

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

Теперь воспользуюсь методом «Скрыть».

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

Вот как мы можем использовать оператор «Выгрузить» и метод «Скрыть», чтобы закрыть пользовательские формы в Excel VBA.

Источник

VBA Закрыть UserForm — Лучшие методы закрытия UserForm в Excel VBA

Excel VBA Закрыть UserForm

Ранее мы обсуждали, как создать пользовательскую форму в VBA. Теперь для получения ввода от пользователя была кнопка для отправки, в которой затем сохранялось значение, указанное пользователем в листе Excel. Но что после придания значения, форма все еще там. Или что делать, если пользователь не хочет предоставлять какие-либо данные и закрывать форму пользователя. Мы не обсуждали, как мы закроем пользовательскую форму для пользователя. Аналогично кнопке отправки для отправки данных у нас была другая кнопка, которая была для отмены, которая используется для скрытия пользовательской формы. Кнопка отмены также имеет свой собственный код, чтобы скрыть пользовательскую форму от пользователя. Теперь есть два метода, с помощью которых мы можем скрыть пользовательскую форму. Они заключаются в следующем:

  1. Первый метод — когда мы используем метод Unload Me. Этот метод выгружает пользовательскую форму и исчезает с дисплея.
  2. Другой метод, когда мы используем метод Useform.Hide. Этот метод скрывает пользовательскую форму от дисплея.

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

Как закрыть UserForm в Excel VBA?

Мы узнаем о том, как закрыть UserForm в Excel VBA с его различием, и на нескольких примерах, но сначала давайте изучим способ закрытия пользовательской формы в VBA.

Есть два способа закрыть пользовательскую форму в VBA:

  1. Выгрузить меня
  2. Спрятать

Вы можете скачать этот шаблон VBA Закрыть UserForm Excel здесь — VBA Закрыть шаблон UserForm Excel

Excel VBA Закрыть UserForm — Пример # 1

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

Для кнопки отправки у нас был наш код, в котором были сохранены данные, введенные пользователем в Excel. Теперь дважды нажмите на кнопку отмены, которая откроет код для того же, как показано ниже,

Код:

Кнопка «Отмена» была второй командной кнопкой, которую мы предоставили пользовательской форме. Теперь напишите оператор кода как Unload me в разделе, как показано на рисунке ниже.

Код:

Мы можем видеть, что Me является оператором Object of Unload. Теперь давайте запустим пользовательскую форму, нажав клавишу F5, чтобы отобразить ее.

Нажмите кнопку «Отмена», чтобы увидеть, что пользовательская форма исчезает, и она возвращает нас к исходной пользовательской форме окна проекта.

Excel VBA Закрыть UserForm — Пример № 2

Теперь давайте попробуем второй метод, метод userform.hide, аналогичный описанному выше, во-первых, давайте откроем форму пользователя из формы пользователя в окне проекта.

Теперь дважды нажмите кнопку отмены, которая откроет код просмотра для кнопки отмены.

У нас уже есть оператор Unload Me, присутствующий в кнопке отмены, очистите код и замените его на оператор Userform.Hide .

Код:

Теперь давайте снова запустим пользовательскую форму, нажав клавишу F5, и отобразим ее на экране.

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

Excel VBA Закрыть UserForm — Пример № 3

Теперь давайте перейдем к первому методу Unload Me оператора для кнопки отмены и предоставим некоторые данные для пользовательской формы. Дважды щелкните на кнопке отмены в пользовательской форме, чтобы открыть код представления для командной кнопки и заменить код оператором Unload Me, как показано ниже.

Код:

Теперь снова запустите пользовательскую форму, нажав клавишу F5, и отобразите ее на экране.

Давайте предоставим некоторые данные для пользовательской формы следующим образом, теперь не нажимайте кнопку отправки, нажмите кнопку «Отмена».

Снова запустите пользовательскую форму, нажав клавишу F5.

Теперь мы можем видеть, что мы потеряли данные, которые мы предоставили пользовательской форме, так как мы не предоставили ее, она не была сохранена на рабочем листе, и мы закрыли пользовательскую форму с помощью оператора Unload Me, который удалил уже заполненные данные.

Excel VBA Закрыть UserForm — Пример № 4

Теперь давайте сделаем то же самое упражнение, но с помощью оператора Userform.Hide,

В командной кнопке отмены замените код, используя метод userform.hide, как показано ниже.

Код:

Теперь мы снова запустим пользовательскую форму, нажав клавишу F5, и предоставим ей некоторые данные следующим образом.

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

Данные даже не теряются, когда мы нажимаем кнопку «Отмена», если мы нажимаем «Отправить», данные сохраняются в Excel следующим образом.

Теперь данные сохранены, пользовательская форма теперь пуста, и мы можем закрыть пользовательскую форму, используя кнопку отмены,

То, что нужно запомнить

  • После того, как пользователь введет данные, нам нужно закрыть пользовательскую форму, чтобы она была так же важна, как кнопка отправки.
  • Закрыть пользовательская форма находится в командной кнопке пользовательской формы в VBA. Как правило, она называется Отмена или Закрыть.
  • Есть два отдельных метода закрытия пользовательской формы, но они в конечном итоге служат той же цели, что и друг друга.
  • Метод Userform.Hide наиболее рекомендуется, поскольку даже если пользовательская форма закрыта пользователем перед вводом данных, данные не теряются, и введенная пользователем запись снова отображается, когда пользователь открывает пользовательскую форму.

Рекомендуемые статьи

Это руководство по VBA Close UserForm. Здесь мы обсудим, как закрыть UserForm в Excel, используя оператор Unload Me и метод Userform.Hide в VBA, а также некоторые практические примеры и загружаемый шаблон Excel. Вы также можете просмотреть наши другие предлагаемые статьи —

  1. Как активировать лист в VBA?
  2. Оценить формулу в Excel
  3. Полное руководство по списку VBA
  4. HYPERLINK Формула в Excel

Источник

When we make a UserForm, it takes data as input from users. But the data provided to the form does not close itself, so it can mislead the user to input data again. So, we use two different commands to close a userform when we give the input. They use the “Unload Me” method to close a UserForm, or we can use a UserForm.Hide method.

Table of contents
  • Excel VBA Close Userform
    • How to Close UserForm in Excel VBA?
      • #1 – Close Userform Using “Unload Me” Statement in VBA
      • #2 – Close UserForm Using Hide Method in Excel VBA
    • Difference Between Unload & Hide in Excel VBA
    • Recommended Articles

UserForms are vital while getting inputs from the user as part of the VBA project. We usually design the UserForm before we present it in front of the user. Once designing the VBA UserForm completes, we need to show up the same in front of the user and require VBA coding. Similarly, to close the UserForm requires VBA coding knowledge.

This article will show you how to close the UserForm in VBA coding.

VBA Close UserForm

How to Close UserForm in Excel VBA?

We must keep showing the UserForm in front of the user completing the purpose of the UserForm. So, we must close the UserForm. We can close the userform by using the “Unload Me” and “UserForm.Hide” statements. Even though both are slightly different, they will eventually serve our purpose.

You can download this VBA Close UserForm Excel Template here – VBA Close UserForm Excel Template

#1 – Close Userform Using “Unload Me” Statement in VBA

For example, look at the below image of the UserForm.

VBA Close UserForm Example 1

We have named the UserForm “MyUserForm.”

If we run the UserForm, we will see the UserForm like below.

VBA Close UserForm Example 1-1

We need to fill in the required details. Once we fill in the information, if we click on the “Submit” button, it will capture the same data to the worksheet, which is visible on the left side.

VBA Close UserForm Example 1-6

Clicking the “Submit” button captured the data we had entered in the UserForm.

If you notice, we have one more button called “Cancel.” What does this do?

Before we display the UserForm, we need to configure this button. So, we will go back to the basic visual editor to configure this button.

VBA Close UserForm Example 1-7

Now, we will double-click on the “Cancel” button. It will open up the automatic VBA subprocedureSUB in VBA is a procedure which contains all the code which automatically gives the statement of end sub and the middle portion is used for coding. Sub statement can be both public and private and the name of the subprocedure is mandatory in VBA.read more like the one below.

VBA Close UserForm Example 1-2

In this procedure, we need to write the VBA codeVBA code refers to a set of instructions written by the user in the Visual Basic Applications programming language on a Visual Basic Editor (VBE) to perform a specific task.read more about what should happen if we click the “Cancel” button. When we click on this “Cancel” button, it should close the UserForm we are working on now.

So, write the code as “Unload Me.”

VBA Close UserForm Example 1-3

Code:

Private Sub CancelButton_Click()

   Unload Me

End Sub

“Unload Me” is the word we use to close the UserForm we are working on. Here the UserForm recognizes the word “Me” as the UserForm itself.

“Unload Me” can be used only on that UserForm procedure. We cannot call this statement in other modules. If called, it will show the error message as “Invalid use of Me Keyword.”

Let us run the code using the F5 key or manually now. First, we will see a blank UserForm.

VBA Close UserForm Example 1-8

Fill in the data and click on “Submit.”

VBA Close UserForm Example 1-4

Once we click the “Submit” button, it will store the values to the mentioned cells.

VBA Close UserForm Example 1-5

If the data entry is complete, we need to close the UserForm. Isn’t it?

So, click on the “Cancel” button to close the UserForm. It will close the UserForm.

#2 – Close UserForm Using Hide Method in Excel VBA

We can also close UserForm using the “Hide” method in VBA. Once again, we will double-click the “Cancel” button to see the private subprocedure.

VBA Close UserForm Example 1-3

Since we have already written the code to close the UserForm, we can see the existing code in VBA. So, now we will delete this.

We need to call the UserForm by its name to use the “Hide” method. In this case, our UserForm name is “MyUserForm.”

VBA CUF Example 1-9

After mentioning the UserForm by its name, if we put a dot (.), we can see all the properties and methods of this UserForm. Now, we will select the “Hide” method.

VBA CUF Example 2-2

Let us run the UserForm one more time. We will see a blank UserForm. Fill in the details first.

VBA CUF Example 2-3

Now, without a click on the “Submit” button, we will click the “Cancel” button, which will hide the UserForm.

Difference Between Unload & Hide in Excel VBA

It would help if you had a question about the difference between “Unload” and “Hide,” where both serve a similar purpose. There is a difference between these two. Now first, we will use the “Unload Me” statement. Look at the below image.

VBA CUF Example 3

We have entered the data in the user form but have not yet submitted it. Therefore, if we click on “Cancel,” it will unload the UserForm.

We will run the code through excel shortcut keyAn Excel shortcut is a technique of performing a manual task in a quicker way.read more F5 or manually. It will display a blank UserForm.

VBA CUF Example 3-1

Even though we had entered the data correctly by mistake, we clicked on the “Cancel” button. When the new UserForm appeared, we filled the data from scratch.

Now, we will use the “Hide” method.

VBA CUF Example 3-2

No, we will click on the “Cancel” button. It will hide the visible UserForm. But, when we re-run the macro, it will come back with the data we have already entered on the UserForm.

Like this,  we can use the “Unload” statement and “Hide” method to close the UserForm in Excel VBA.

Recommended Articles

This article has been a guide to VBA Close UserForm. Here, we learn how to close UserForm using the “Unload Me” statement and “Userform.Hide” method in Excel VBA with simple to advanced examples. Below are some useful Excel articles related to VBA: –

  • FileDialog in VBA
  • VBA InStr
  • Use of COUNTIF in VBA
  • Call Sub in VBA

How to close a UserForm in Excel. This includes hiding the form as well as completely closing it and removing it from memory.

Sections:

Close the UserForm

Hide the UserForm

Red X

Notes

Close the UserForm

This will completely close the UserForm and clear it from memory. When you do this, anything that was entered into the form will be removed and any changes made to the form will be cleared. Don’t let that scare you though, this is the normal way that you close a UserForm.

This is the code that you use:

Unload Me

You put this into the code section of the UserForm.

In the VBA window (Alt + F11), double-click the button that you want to close the form; this causes a code window to appear; in that window, paste the above code.

It will look something like this:

9b49f9f7aa4b064ec0dad97c48cec997.png

You can also close the form using its name instead of «Me» and that would look like this:

Unload UserForm1

In this example, the name of the form is UserForm1.

Hide the UserForm

This makes the form disappear but it does not clear it from memory or actually close the form. This means that anything that was entered into the form and any changes made to it will remain in the form.

Me.Hide

Put this code into the button that you want to cause the form to be hidden.

In the VBA window (Alt + F11), double-click the button that you want to hide the form; this causes a code window to appear; in that window, paste the above code.

It will look something like this:

ee7d64bca3244bacaec4f204451a9c3d.png

If you put this piece of code outside of the UserForm, you will need to reference the name of the form like this:

UserForm1.Hide

UserForm1 is the name of the form to hide.

Red X

Click the red X in the upper-right corner of the UserForm.

This is the way to close a UserForm that doesn’t have any buttons on it or that hasn’t had a «close» button programmed into it.

Notes

Closing a UserForm is, as you can see, very easy to do. However, make sure that when you input the code to close the UserForm, you do it in an intuitive way. For instance, if there is a button that closes the form, make sure the button looks like that’s what it does, such as by saying «Close» or «Cancel».

Download the sample workbook for this tutorial to see this in action.

Similar Content on TeachExcel

Make a UserForm in Excel

Tutorial: Let’s create a working UserForm in Excel.
This is a step-by-step tutorial that shows you e…

Showing a UserForm

Tutorial: How to display a UserForm in Excel and some common things you might want to do when you di…

Reset All Values in a UserForm

Tutorial: Clear or reset all values in a UserForm so that they contain only the default original val…

Make a Password Prompt Input for Excel (With Masked Input)

Tutorial:
How to make a Password input prompt window for Excel and mask the input so that you can’t…

What is a UserForm in Excel?

Tutorial: A UserForm is basically a pop-up window that you can use to create a custom interface for …

Loop Through Controls in a UserForm

Tutorial: How to loop through all controls in a UserForm; this allows you to do things like get valu…

Subscribe for Weekly Tutorials

BONUS: subscribe now to download our Top Tutorials Ebook!

Примеры форм листа Благодаря формам, а также многочисленным элементам управления и объектам, которые можно в них добавить, значительно упрощается ввод данных в листы и улучшается их внешний вид. Вы также можете делать это самостоятельно, и вам почти или совсем не потребуется код Microsoft Visual Basic для приложений (VBA).

Форма листа и шаблон Excel — это не одно и то же. Шаблон — это предварительно отформатированный файл, который служит отправной точкой для создания книги с требуемым оформлением. Форма содержит элементы управления, такие как поля и раскрывающиеся списки, упрощающие ввод и изменение данных для использующих ваш лист. Дополнительные информацию о шаблонах, которые можно скачать, см. в Excel шаблонов.

Общие сведения о формах

Форма (печатная или веб-версия) — это документ со стандартной структурой и форматированием, который упрощает сбор, у упорядочение и редактирование сведений.

  • Печатаемая форма содержит инструкции, форматирование, наклейки и пустые пробелы для ввода и ввода данных. Для создания печатных Excel и Excel шаблонов.

  • Веб-формы содержат те же функции, что и печатные формы. Кроме того, веб-формы содержат элементы управления. Элементы управления — это объекты, которые отображают данные или упрощают ввод или изменение данных, выполнение действия или выбор данных. Как правило, элементы управления упрощают работу с формой. Примерами часто используемых элементов управления являются списки, переключатели и кнопки. Элементы управления также могут запускать назначенные им макросы и реагировать на события, например щелчки мышью, путем выполнения кода Visual Basic для приложений (VBA).

Создавать печатные Excel веб-формы можно несколькими способами.

Типы форм Excel

В Excel можно создавать формы нескольких типов: формы данных, листы с элементами управления формы и ActiveX, а также пользовательские формы VBA. Каждый из этих типов формы можно использовать по отдельности или сочетать с другими типами для создания нужного решения.

Форма данных

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

Пример типичной формы данных Excel может автоматически создать встроенную форму данных для диапазон или таблица. Такая форма представляет собой диалоговое окно, в котором все заголовки столбцов отображаются в виде подписей. Каждой подписи соответствует текстовое поле, в которое можно вводить данные для столбца (максимальное количество столбцов — 32). В форме данных можно вводить новые строки, находить строки путем навигации или (на основе содержимого ячейки) обновлять строки и удалять их. Если ячейка содержит формула, ее результат отображается в форме данных, но саму формулу в форме данных изменить нельзя.

Лист с формой и элементами ActiveX

Этот тип формы позволяет вводить и просматривать данные в сетке. Кроме того, на Excel уже встроены некоторые функции, похожие на элементы управления, такие как приметки и проверка данных. Ячейки напоминают текстовые поля, которые можно вводить и форматированием различными способами. Ячейки часто используются в качестве подписей, и благодаря регулировке высоты и ширины ячеек, а также объединению ячеек можно настроить поведение таблицы как простую форму для ввода данных. Другие функции управления, такие как приметки к ячейкам, гиперссылки, фоновые изображения, проверка данных, условное форматирование, внедренные диаграммы и автофайл, могут привести к работе с таблицами как к расширенным формам.

Для большей гибкости вы можете добавлять элементы управления и другие объекты-рисунки полотно на полотно, а также объединять и координировать их с ячейками. Например, с помощью списка можно упростить выбор элементов в списке. Кроме того, можно упростить ввод номера с помощью счетчика.

Элементы управления и объекты хранятся на полотне, и поэтому их можно отображать и просматривать одновременно со связанным текстом, не зависящим от границ строк и столбцов, без изменения макета сетки или таблицы данных на листе. В большинстве случаев многие из этих элементов управления можно также связать с ячейками на листе, а для их нормальной работы не требуется создавать код VBA. Можно задать свойства, определяющие, является ли элемент управления свободно перемещаемым или перемещается и изменяет размеры вместе с ячейкой. Например, может потребоваться, чтобы флажок перемещался вместе со связанной ячейкой при сортировке диапазона. С другой стороны, если нужно, чтобы список всегда отображался в одном и том же месте, нежелательно, чтобы он перемещался вместе с ячейкой.

В Excel поддерживаются два типа элементов управления: элементы управления форм и элементы ActiveX. Кроме этих наборов элементов управления, вы также можете добавлять объекты из средств рисования, такие как автофигуры, объект WordArt, графические элементы SmartArt или текстовые поля.

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

Элементы управления формы

Элементы управления формы появились в Excel раньше всего и поддерживаются в предыдущих выпусках Excel (начиная с версии 5.0). Их также можно использовать на листах макросов XLM.

Элементы управления формы используются, если вы хотите легко ссылаться на данные ячеок и взаимодействовать с ними, не используя код VBA, а также добавлять их на листы диаграмм. Например, после добавления элемента управления «список» на лист и связывания его с ячейкой можно вернуть числовые значения для текущего положения выбранного элемента управления. Затем можно использовать это число в сочетании с функцией ИНДЕКС для выбора различных элементов в списке.

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

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

Обзор элементов управления формы

Название кнопки

Пример

Описание

Изображение кнопки

Надпись

Пример подписи (элемент управления формы)

Указывает назначение ячейки или текстового поля либо содержит описание (заголовки, подписи, рисунки) или краткие инструкции.

Изображение кнопки

Значок кнопки

Пример группы (элемент управления формы)

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

Изображение кнопки

Изображение кнопки

Пример кнопки (элемент управления формы)

Запуск макроса, который выполняет действие при щелчке пользователем. Кнопка также называется push-кнопкой.

Изображение кнопки

Флажок

Пример флажка (элемент управления формы)

Включает или отключает значение, что соответствует выбору противоположных действий. На листе или в группе можно установить несколько флажков. Флажок может иметь одно из трех состояний: установлен (значение включено), снят (значение отключено) и смешанное состояние, то есть сочетание состояний «включено» и «отключено» (если поддерживается выбор нескольких элементов).

Изображение кнопки

Переключатель

Пример переключателя (элемент управления формы)

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

Изображение кнопки

Список

Пример списка (элемент управления формы)

Выводит список из одного или нескольких текстовых элементов, которые может выбрать пользователь. Список можно применять для представления большого числа вариантов, количество и содержимое которых может быть различным. Существует три типа списков.

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

  • Список связанного выбора позволяет выбрать один элемент, а также несколько расположенных рядом элементов.

  • Список, разрешающий несвязный выбор нескольких строк, позволяет выбрать один элемент, расположенные рядом элементы, а также разрозненные элементы.

Изображение кнопки

Поле со списком

Пример поля со списком (элемент управления формы)

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

Изображение кнопки

Полоса прокрутки

Пример полосы прокрутки (элемент управления формы)

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

Изображение кнопки

Счетчик

Пример счетчика (элемент управления формы)

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

Примечание: Следующие элементы управления недоступны в Office Excel 2007 книгах. Эти элементы управления можно использовать только Excel на листах диалогов версии 5.0.

Название кнопки

Изображение кнопки
текстового поля

Изображение кнопки
со списком — редактирование

Изображение кнопкисо #x0 — вниз, редактирование

Изображение кнопки
«Выполнить»

Элементы ActiveX

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

Можно также управлять событиями, которые происходят при взаимодействии с элементом ActiveX. Например, можно выполнять различные действия в зависимости от того, какой элемент выбирается из списка, или отправлять запрос базе данных для заполнения поля со списком элементами при нажатии кнопки. Можно также создавать макросы, которые реагируют на события, связанные с элементами ActiveX. При выборе элемента управления будет выполняться код VBA, обрабатывающий все назначенные ему события.

На компьютере находятся многочисленные элементы ActiveX, установленные приложением Excel и другими программами, такими как Calendar Control 12.0 и проигрыватель Windows Media.

Важно: Не все элементы ActiveX можно использовать непосредственно на листах; некоторые из них можно применять только к пользовательским формам Visual Basic для приложений (VBA). При попытке добавить такие элементы управления на лист в приложении Excel отображается сообщение «Вставка объекта неосуществима».

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

Обзор элементов ActiveX

Название кнопки

Пример

Описание

Изображение кнопки

Флажок

Пример флажка (элемент ActiveX)

Включает или отключает значение, что соответствует выбору противоположных действий. На листе или в группе можно одновременно установить несколько флажков. Флажок может иметь одно из трех состояний: установлен (значение включено), снят (значение отключено) и смешанное состояние, то есть сочетание состояний «включено» и «отключено» (если поддерживается выбор нескольких элементов).

Изображение кнопки

Текстовое поле

Пример текстового поля (элемент ActiveX)

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

Изображение кнопки

Кнопка

Пример кнопки (элемент ActiveX)

Запуск макроса, который выполняет действие при щелчке пользователем. Кнопка также называется push-кнопкой.

Изображение кнопки

Переключатель

Пример переключателя (элемент ActiveX)

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

Изображение кнопки

Список

Пример списка (элемент ActiveX)

Выводит список из одного или нескольких текстовых элементов, которые может выбрать пользователь. Список можно применять для представления большого числа вариантов, количество и содержимое которых может быть различным. Существует три типа списков.

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

  • Список связанного выбора позволяет выбрать один элемент, а также несколько расположенных рядом элементов.

  • Список, разрешающий несвязный выбор нескольких строк, позволяет выбрать один элемент, расположенные рядом элементы, а также разрозненные элементы.

Изображение кнопки

Поле со списком

Пример поля со списком (элемент ActiveX)

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

Изображение кнопки

Выключатель

Пример выключателя (элемент ActiveX)

Указывает на состояние (да/нет) или режим (вкл./выкл.). При нажатии кнопки она меняет свое состояние на противоположное.

Изображение кнопки

Счетчик

Пример счетчика (элемент ActiveX)

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

Изображение кнопки

Полоса прокрутки

Пример полосы прокрутки (элемент ActiveX)

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

Изображение кнопки

Надпись

Пример подписи (элемент ActiveX)

Указывает назначение ячейки или текстового поля либо содержит описание (заголовки, подписи, рисунки) или краткие инструкции.

Изображение кнопки

Изображение

Пример изображения (элемент ActiveX)

Выводит изображение, например точечный рисунок, JPEG или GIF.

Рамка

Пример рамки (элемент ActiveX)

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

Примечание: Элемент ActiveX рамки не доступен в разделе ActiveX элементов управления команды Вставка. Тем не менее его можно добавить из диалогового окна Другие элементы, выбрав пункт Рамка Microsoft Forms 2.0.

Изображение кнопки

Другие элементы

Выводит список доступных на компьютере элементов ActiveX, которые можно добавить в настраиваемую форму (например, элементы Calendar Control 12.0 или проигрывателя Windows Media). В этом диалоговом окне также можно зарегистрировать пользовательский элемент управления.

Объекты средств рисования

Примеры фигур вы также можете включить в форму графические элементы SmartArt, фигуры, wordArt и текстовые поля. Можно изменять размер и цвет таких объектов, поворачивать, отражать и объединять их, чтобы получать еще более сложные фигуры. Текст, который вы вводите непосредственно в фигуру или надпись, становится частью объекта — при повороте или отражении объекта он также меняет свое положение. В отличие от элементов ActiveX, отдельным словам и знакам в объекте можно назначать различные атрибуты, например размер или начертание шрифта. Кроме того, объектам можно назначать макросы или гиперссылки. Можно даже связать текст в фигуре или надписи с ячейкой листа и динамически выводить обновленные значения.

Работа с элементами управления и объектами на листе

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

  • Управление отображением линий сетки при работе с элементами управления и отключение либо включение вывода линий сетки на готовой форме листа.

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

  • Изменение текста элемента управления, например заголовка или подписи.

  • Группировка, копирование, перемещение и выравнивание элементов управления для упорядочения макета формы листа.

  • Изменение размера и форматирования элементов управления для достижения требуемого внешнего вида.

  • Изменение положения или размера элемента управления относительно ячейки.

  • Защита элементов управления и связанных ячеек в соответствии с собственными потребностями.

  • Включение или отключение печати элементов управления вместе с формой листа.

  • Удаление неиспользуемых элементов управления.

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

Определение типа элемента управления на листе

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

  • Если контекстное меню содержит команду Свойства, элемент управления является элементом ActiveX и сейчас используется режим конструктора.

  • Если контекстное меню содержит команду Назначить макрос, это элемент управления формы.

    Совет: Чтобы отобразить правильное shortcut menu для группы box Form control, убедитесь, что вы выбрали периметр, а не внутреннюю часть группы.

  • Если контекстное меню содержит команду Изменить текст, это объект-рисунок.

Пользовательские формы VBA

Для максимальной гибкости можно создавать пользовательские формы пользователей, которые обычно включают один или несколько ActiveX элементов управления. Пользовательские формы вызываются из программного кода VBA, который создается в редакторе Visual Basic. Ниже приведены общие указания по созданию пользовательских форм.

  1. Вставьте пользовательскую форму в проект VBA книги. Для доступа к проекту VBA нужно сначала отобразить редактор Visual Basic (нажмите ALT+F11), а затем в меню Вставка нажать кнопку Пользовательскаяформа.

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

  3. Добавьте элементы ActiveX.

  4. Измените свойства элементов ActiveX.

  5. Создайте процедуры обработчика событий для элементов ActiveX.

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

Перед созданием пользовательских форм рассмотрите возможность применения встроенных диалоговых окон, доступных в Excel. Они включают функции VBA InputBox и MsgBox, метод Excel InputBox, метод GetOpenFilename, метод GetSaveAsFilename и объект Dialogs объекта Application, который содержит все встроенные диалоговые окна Excel.

Дополнительные сведения можно получить в Центре разработчика Microsoft Office Excel.

К началу страницы

Понравилась статья? Поделить с друзьями:
  • Excel формы для работы с данными
  • Excel формы для бизнеса
  • Excel формы данные форма
  • Excel формулы ячейка константа
  • Excel формулы число между значениями