Пользовательская форма в excel

Объект UserForm UserForm object

Объект UserForm — это окно или диалоговое окно, которое является частью пользовательского интерфейса приложения. A UserForm object is a window or dialog box that makes up part of an application’s user interface.

Коллекция UserForm — это коллекция, элементы которой представляют каждую загруженную форму UserForm в приложении. The UserForms collection is a collection whose elements represent each loaded UserForm in an application. Коллекция UserForm содержит свойство Count , метод Item и метод Add . The UserForms collection has a Count property, an Item method, and an Add method. Свойство Count определяет число элементов в коллекции; свойство Item (элемент по умолчанию) — конкретный элемент коллекции; а метод Add позволяет добавить элемент UserForm в коллекцию. Count specifies the number of elements in the collection; Item (the default member) specifies a specific collection member; and Add places a new UserForm element in the collection.

Синтаксис Syntax

Пользовательская форма Пользовательские формы [ . Элемент ] (index) UserForm UserForms [ .Item ] (index)

Индекс заполнителя представляет целое число в диапазоне от 0 до UserForm. Count — 1. The placeholder index represents an integer with a range from 0 to UserForms.Count – 1. Item — это элемент коллекции UserForms по умолчанию, который не требуется задавать. Item is the default member of the UserForms collection and need not be specified.

Примечания Remarks

Коллекцию UserForms можно использовать для перебора всех загруженных в приложение форм. You can use the UserForms collection to iterate through all loaded user forms in an application. В ней определяется внутренняя глобальная переменнаяUserForms. It identifies an intrinsic global variable named UserForms. Вы можете передать пользовательские формы(index) функции, Аргумент которого указан как класс UserForm . You can pass UserForms(index) to a function whose argument is specified as a UserForm class.

Свойства пользовательских форм определяют их внешний вид, в том числе позицию, размер и цвет, а также некоторые аспекты их поведения. User forms have properties that determine appearance such as position, size, and color; and aspects of their behavior.

Пользовательские формы также отвечают на события, запускаемые пользователем или системой. User forms can also respond to events initiated by a user or triggered by the system. Например, вы можете добавить в процедуру события Initialize для элемента UserForm код, позволяющий инициализировать переменные уровня модуля до отображения элемента UserForm. For example, you can write code in the Initialize event procedure of the UserForm to initialize module-level variables before the UserForm is displayed.

В дополнение к свойствам и событиям методы можно использовать для управления пользовательскими формами с помощью кода. In addition to properties and events, you can use methods to manipulate user forms by using code. Например, с помощью метода Move можно изменить расположение и размер пользовательской формы. For example, you can use the Move method to change the location and size of a UserForm.

При проектировании форм пользователей задайте свойство BorderStyle для определения границ и задайте свойство Caption , чтобы оно поместило текст в строку заголовка. When designing user forms, set the BorderStyle property to define borders, and set the Caption property to put text in the title bar. В коде можно использовать методы Hide и Show , чтобы сделать UserForm невидимым или видимым во время выполнения. In code, you can use the Hide and Show methods to make a UserForm invisible or visible at run time.

Элемент UserForm имеет тип данных Object. UserForm is an Object data type. Вы можете объявить переменные с типом UserForm, прежде чем присвоить их экземпляру типа UserForm, объявленному во время разработки. You can declare variables as type UserForm before setting them to an instance of a type of UserForm declared at design time. Аналогичным образом, можно передать аргумент в процедуру как значение типа UserForm. Similarly, you can pass an argument to a procedure as type UserForm. Вы можете создавать в коде несколько экземпляров пользовательских форм с помощью ключевого слова New в операторах Dim, Set и Static. You can create multiple instances of user forms in code by using the New keyword in Dim, Set, and Static statements.

Вы можете получить доступ к коллекции элементов управления пользовательской формы с помощью коллекции Controls . You can access the collection of controls on a UserForm by using the Controls collection. Например, чтобы скрыть все элементы управления пользовательской формы, используйте код, аналогичный приведенному ниже. For example, to hide all the controls on a UserForm, use code similar to the following.

См. также See also

Поддержка и обратная связь Support and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь. Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.

Читайте также:  Как в эксель добавить лист

Источник: docs.microsoft.com

Создаем формы в Excel

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

Начнем с того, что не во всех версиях Excel сразу доступна волшебная кнопка Форма. В этом случае предварительно настройте Параметры (перейти к ним можно на вкладке Файл). Здесь вы также можете сразу не найти то, что нужно добавить на ленту. Поэтому сначала измените вариант в поле Выбрать команды (в данном случае нужен вариант Все команды). Чтобы добавить найденную в списке команду Форма, нужно выбрать имя вкладки, где разместится кнопка и создать новую группу. Теперь щелкните по кнопке Добавить и проверьте, появилась ли новая команда в новой группе.

После этих манипуляций на вкладке Данные появится группа Работа с формами (это название задаете вы, когда создаете группу при настройке параметров Excel), а в ней нужная вам кнопка.

Форму нельзя создать, если шапка таблицы занимает несколько строк — это минус.

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

Осталось только щелкнуть на любой ячейке таблицы и на кнопке Форма. Готово, можно работать. Вы видите строку, относящуюся только к одному человеку, причем все названия граф в одной форме. Названия кнопок — настоящие подсказки для пользователя. Нужна новая строка — Добавить, не нужна существующая — Удалить, нужно перейти к какой-либо впереди — Далее, позади — Назад.

Единственной «неочевидной» является кнопка Критерии. Она позволяет включать фильтр, чтобы быстрее находить нужные строки, если их очень много. При задании критерия можно использовать такие знаки, как «*» и «?», критериев может быть несколько (но задать их нужно в пределах одного окна). Для отключения фильтра используйте кнопку Правка.

Выбор поля формы можно делать щелчком мыши или клавишей ТАВ. Добавлять новую строку в таблицу можно с помощью соответствующей кнопки или нажатием ENTER, когда заполнено последнее поле.

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

Источник: microsoft-help.ru

Ввод данных в Excel через форму

Множество разнообразных компьютерных программ, включая «самую главную программу в мире» — MS Windows, ведут общение с пользователем при помощи выпадающих диалоговых окон. Эти окна представляют собой формы, состоящие из надписей, изображений, полей для.

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

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

Стандартно при работе со значительными объемами информации вне зависимости от того, какое программное обеспечение используется, поступают следующим образом:

1. Создают таблицы базы данных.

2. Создают формы для ввода данных в таблицы.

3. Создают необходимые запросы к таблицам базы данных.

4. Формируют отчеты на основании запросов для вывода на печать.

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

В этой (пятой в цикле) статье рассмотрим п.2 вышеизложенного алгоритма – вызов и использование формы для ввода данных.

Форма Excel. Вводим данные!

Для чего нужна какая-то форма?! Бери таблицу — и пиши прямо в нее очередную строку информации! Зачем еще что-то выдумывать?

Мы так и делали при создании нашего небольшого и простого примера базы данных БД2 «Выпуск металлоконструкций участком №2», с которым работаем во всех статьях этого цикла.

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

Читайте также:  Как в excel расположить в алфавитном порядке

При вводе данных в такие таблицы Excel «напрямую» при заполнении строк для перемещения по столбцам необходимо каждый раз нажимать клавишу «Tab», а для перехода к новой записи на новую строку пользоваться прокруткой и мышью или клавишами «Enter» и « Задача №8:

Ввести очередную строку информации в базу данных через форму.

Рассмотрим ввод данных в Excel при помощи формы на примере добавления очередной записи в базу данных БД2 «Выпуск металлоконструкций участком №2».

1. Открываем в MS Excel файл database.xls.

2. Активируем («щелкаем мышкой») любую ячейку внутри таблицы базы.

3. Выполняем команду главного меню программы «Данные» — «Форма…».

4. В появившемся окне, представляющем собой форму с именем «БД2» (по имени листа книги Excel, на котором расположена таблица), нажимаем кнопку «Добавить».

5. Заполняем окна данными новой записи, например, так, как показано ниже на снимке экрана. Переходим от окна к окну при помощи клавиатуры, нажимая клавишу «Tab».

6. Нажимаем кнопку формы «Закрыть» или «Enter» на клавиатуре. Ввод данных в Excel успешно осуществлен — новая запись добавлена в базу!

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

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

Итоги.

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

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

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

Прошу уважающих труд автора подписаться на анонсы статей в окне, расположенном в конце каждой статьи или в окне вверху страницы!

Уважаемые читатели, пишите отзывы, вопросы и замечания в комментариях внизу страницы.

Источник: al-vo.ru

Создаем формы в Excel

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

Начнем с того, что не во всех версиях Excel сразу доступна волшебная кнопка Форма. В этом случае предварительно настройте Параметры (перейти к ним можно на вкладке Файл). Здесь вы также можете сразу не найти то, что нужно добавить на ленту. Поэтому сначала измените вариант в поле Выбрать команды (в данном случае нужен вариант Все команды). Чтобы добавить найденную в списке команду Форма, нужно выбрать имя вкладки, где разместится кнопка и создать новую группу. Теперь щелкните по кнопке Добавить и проверьте, появилась ли новая команда в новой группе.

После этих манипуляций на вкладке Данные появится группа Работа с формами (это название задаете вы, когда создаете группу при настройке параметров Excel), а в ней нужная вам кнопка.

Форму нельзя создать, если шапка таблицы занимает несколько строк — это минус.

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

Осталось только щелкнуть на любой ячейке таблицы и на кнопке Форма. Готово, можно работать. Вы видите строку, относящуюся только к одному человеку, причем все названия граф в одной форме. Названия кнопок — настоящие подсказки для пользователя. Нужна новая строка — Добавить, не нужна существующая — Удалить, нужно перейти к какой-либо впереди — Далее, позади — Назад.

Единственной «неочевидной» является кнопка Критерии. Она позволяет включать фильтр, чтобы быстрее находить нужные строки, если их очень много. При задании критерия можно использовать такие знаки, как «*» и «?», критериев может быть несколько (но задать их нужно в пределах одного окна). Для отключения фильтра используйте кнопку Правка.

Читайте также:  Excel цифры в текст

Выбор поля формы можно делать щелчком мыши или клавишей ТАВ. Добавлять новую строку в таблицу можно с помощью соответствующей кнопки или нажатием ENTER, когда заполнено последнее поле.

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

Источник: microsoft-help.ru

Пользовательская форма в excel

Width

frmForm1.Caption = “������”

������� 5.2. �������� ������� ����

Initialize

Activate

Deactivate

Click

Private Sub UserForm_Activate()

frmForm1.Caption = “������ �� ����� ��������� � �������”

End Sub

Private Sub UserForm_Click()

frmForm1.Width = frmForm1.Width / 2

frmForm1.Height = frmForm1.Height / 2

frmForm1.Caption = “������ ��� ��� ���!”

End Sub

������� 5.3. �������� ������ ����

Unload

Private Sub UserForm_Initialize()

Load frmForm2

frmForm2.Show

End Sub

Private Sub UserForm_Click()

frmForm2.Hide

End Sub

Private Sub UserForm_Click()

frmForm2.Show

End Sub

�������� ����������� ��������� �� ����� ����������� � ������� ������ ������������, ������� ��������� �� ����� �������� ��� ������ ��������� (���. 5.2).

frm

frmMyForm

lbl

lblInfo

txt

txtInput

cmd

cmdExit

chk

chkSound

opt

optLevel

lsb

lsbTypes

fra

fraChoices

vcb

vcbSpeed

pic

picChema

BackColor

Caption

Enabled

ForeColor

Picture

PicturePosition

Visible

Enabled

ForeColor

MaxLength

PasswordChar

txtResult.Text=” “

������� 5.8. �������� �������

Caption

ForeColor

Picture

PicturePosition

������� 5.9. �������� ������

ListIndex

Private Sub UserForm_Initialize()

List1.AddItem “����”

List1.AddItem “����”

List1.AddItem “�����”

List1.AddItem “������”

List1.AddItem “�������”

End Sub

Private Sub List1_DblClick()

List2.AddItem List1.Text

List1.RemoveItem

List1.ListIndex

End Sub

Private Sub List2_dblClick()

List1.AddItem List2.Text

List2.RemoveItem

List2.ListIndex

Источник: dpivi.ru

Studhelper IT

Разработка приложений, переводы книг по программированию

Страницы

четверг, 1 октября 2015 г.

Создание формы в Excel VBA

Вариант 5
Создать пользовательскую форму вида:

Создать в модуле формы частную процедуру-подпрограмму, запускающуюся при щелчке по кнопке с надписью «Расчет». Процедура должна вычислять максимальную сумму, начисленную за дневную работу какому-либо из сотрудников должности, название которой вводится в текстовое поле Поле1, в день недели, номер которого вводится в Поле2. Начисленная сумма вычисляется как произведение отработки на расценку. Результат вычисления процедура должна поместить в Поле3.
Для создания пользовательской формы нужно перейти в редактор кода Visual Basic (Alt+F11) и в меню выбрать Insert->UserForm. Затем нужно добавить нужные компоненты и настроить все параметры формы и компонентов – размер, шрифт, названия.
В данном случае нужны три элемента TextBox (TextDolgn – должность, TextDen – день недели, TextMaks – максимальная начисленная сумма), две кнопки (Расчет и Выход) и 4 надписи. Все свойства можно установить на панели Properties.
Если нажать два раза на кнопку Расчет, то редактор создаст заготовку процедуры. Внесем в нее текст:

Private Sub btnCalc_Click()
Dim r As Integer ‘номер строки
Dim c As Integer ‘номер столбца
Dim maxSum As Integer ‘максимальная начисленная сумма
Dim rng As Range ‘пользовательский диапазон
textMaks.Text = “” ‘очистка поля от предыдущего поиска
‘если не введено название должности, то сообщение и выход из процедуры
If textDolgn.Text = Empty Then
MsgBox “Введите название должности!”
textDolgn.SetFocus ‘фокус на поле ввода
Exit Sub
End If
‘если не введен номер дня, то сообщение и выход из процедуры
If textDen.Text = Empty Then
MsgBox “Введите номер дня недели (от 1 до 7)!”
textDen.SetFocus
Exit Sub
End If
‘введено нечисловое значение дня
If Not (IsNumeric(textDen.Text)) Then
MsgBox “Нечисловое значение дня недели (нужно от 1 до 7)!”
textDen.SetFocus
textDen.Text = “” ‘очистка поля
Exit Sub
‘введен неправильный номер дня недели
ElseIf (CInt(textDen.Text) 7) Then
MsgBox “Неверное значение дня недели (нужно от 1 до 7)!”
textDen.SetFocus
textDen.Text = “” ‘очистка поля
Exit Sub
End If
‘начинаем цикл с 3 строки
r = 3
‘номер дня из поля ввода
c = CInt(textDen.Text)
Set rng = Sheets(1).UsedRange
maxSum = -1
For r = 3 To rng.Rows.Count
‘если в ячейке найдено указанное название должности
If InStr(1, Cells(r, 2), textDolgn.Text, vbTextCompare) > 0 Then
‘если сумма больше чем максимум, то меняем значение максимума на новое
If CInt(Cells(r, 3)) * CInt(Cells(r, c + 3)) > maxSum Then maxSum = CInt(Cells(r, 3)) * CInt(Cells(r, c + 3))
End If
Next r
If maxSum = -1 Then
MsgBox “Указанная должность не найдена”
textMaks.Text = “-“
Else
textMaks.Text = CStr(maxSum)
End If
Set rng = Nothing ‘освобождение памяти
End Sub

Private Sub btnExit_Click()
‘выгрузка формы
Unload Me
End Sub

Все, можно проверять работу формы.
Я привел здесь только 5 вариант. Если нужно другой, то можно спросить в группе ВК (см. страницу с контактами). Но вообще, все варианты похожие. Есть только небольшие отличия, особенно, если нужно вывести строку с несколькими текстовыми значениями. Тогда можно использовать свойство текстбокса – Multiline для вывода нескольких строк, а для разделения использовать символы переноса на новую строку.

Источник: studhelper.blogspot.com