Bazaprogram.ru

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

Vba excel userform таблица

Vba excel userform таблица

На этом шаге мы приведем общие сведения о пользовательской форме .

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

Семейство UserForms является семейством, компоненты которого представляют все загруженные формы UserForm в приложении. Как и все семейства, UserForms имеет свойства Count (возвращает число компонентов в семействе) и Item (возвращает определенный компонент семейства), а также метод Add (добавляет к семейству новый компонент).

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

Наиболее часто используемые свойства объекта UserForm .

Таблица 1. Свойства объекта UserForm
СвойствоНазначение
NameВозвращает имя пользовательской формы
CaptionВозвращает текст, отображаемый в строке заголовка формы
BackColorВозвращает цвет фона формы
BorderStyleУстанавливает тип границы
PictureУказывает рисунок, отображаемый как фон формы
Left и TopВозвращают местоположение верхнего левого угла формы в пунктах
Height и WidthВозвращают высоту и ширину формы в пунктах
StartUpPositionВозвращает значение, определяющее положение формы при ее первом отображении на экране. Допустимые значения:

  • Manual (начальное значение не устанавливается),
  • CenterOwner (выравнивание по центру объекта, к которому принадлежит форма),
  • CenterScreen (выравнивание по центру экрана),
  • WindowsDefault (положение верхнего левого угла экрана).

Наиболее часто используемые методы объекта UserForm .

Таблица 2. Методы объекта UserForm
МетодНазначение
ShowОтображает форму на экране
HideЗакрывает форму
MoveИзменяет положение и размер формы
PrintFormПечатает изображение формы

Основные события объекта UserForm .

Таблица 3. События объекта UserForm
СобытиеВозникает.
Initialize. при отображении формы на экране
Terminate. при закрытии формы

На следующем шаге мы рассмотрим семейство Controls .

Userform

This chapter teaches you how to create an Excel VBA Userform. The Userform we are going to create looks as follows:

Add the Controls

To add the controls to the Userform, execute the following steps.

1. Open the Visual Basic Editor. If the Project Explorer is not visible, click View, Project Explorer.

2. Click Insert, Userform. If the Toolbox does not appear automatically, click View, Toolbox. Your screen should be set up as below.

3. Add the controls listed in the table below. Once this has been completed, the result should be consistent with the picture of the Userform shown earlier. For example, create a text box control by clicking on TextBox from the Toolbox. Next, you can drag a text box on the Userform. When you arrive at the Car frame, remember to draw this frame first before you place the two option buttons in it.

4. Change the names and captions of the controls according to the table below. Names are used in the Excel VBA code. Captions are those that appear on your screen. It is good practice to change the names of controls. This will make your code easier to read. To change the names and captions of the controls, click View, Properties Window and click on each control.

ControlNameCaption
UserformDinnerPlannerUserFormDinner Planner
Text BoxNameTextBox
Text BoxPhoneTextBox
List BoxCityListBox
Combo BoxDinnerComboBox
Check BoxDateCheckBox1June 13th
Check BoxDateCheckBox2June 20th
Check BoxDateCheckBox3June 27th
FrameCarFrameCar
Option ButtonCarOptionButton1Yes
Option ButtonCarOptionButton2No
Text BoxMoneyTextBox
Spin ButtonMoneySpinButton
Command ButtonOKButtonOK
Command ButtonClearButtonClear
Command ButtonCancelButtonCancel
7 LabelsNo need to changeName:, Phone Number:, etc.

Note: a combo box is a drop-down list from where a user can select an item or fill in his/her own choice. Only one of the option buttons can be selected.

Show the Userform

To show the Userform, place a command button on your worksheet and add the following code line:

Private Sub CommandButton1_Click()

We are now going to create the Sub UserForm_Initialize. When you use the Show method for the Userform, this sub will automatically be executed.

2. In the Project Explorer, right click on DinnerPlannerUserForm and then click View Code.

3. Choose Userform from the left drop-down list. Choose Initialize from the right drop-down list.

4. Add the following code lines:

Private Sub UserForm_Initialize()

‘Empty NameTextBox
NameTextBox.Value = «»

‘Empty PhoneTextBox
PhoneTextBox.Value = «»

‘Empty CityListBox
CityListBox.Clear

‘Fill CityListBox
With CityListBox
.AddItem «San Francisco»
.AddItem «Oakland»
.AddItem «Richmond»
End With

‘Empty DinnerComboBox
DinnerComboBox.Clear

‘Fill DinnerComboBox
With DinnerComboBox
.AddItem «Italian»
.AddItem «Chinese»
.AddItem «Frites and Meat»
End With

‘Uncheck DataCheckBoxes
DateCheckBox1.Value = False
DateCheckBox2.Value = False
DateCheckBox3.Value = False

‘Set no car as default
CarOptionButton2.Value = True

‘Empty MoneyTextBox
MoneyTextBox.Value = «»

‘Set Focus on NameTextBox
NameTextBox.SetFocus

Explanation: text boxes are emptied, list boxes and combo boxes are filled, check boxes are unchecked, etc.

Assign the Macros

We have now created the first part of the Userform. Although it looks neat already, nothing will happen yet when we click the command buttons on the Userform.

2. In the Project Explorer, double click on DinnerPlannerUserForm.

3. Double click on the Money spin button.

4. Add the following code line:

Private Sub MoneySpinButton_Change()

Explanation: this code line updates the text box when you use the spin button.

5. Double click on the OK button.

6. Add the following code lines:

Private Sub OKButton_Click()

Dim emptyRow As Long

‘Make Sheet1 active
Sheet1.Activate

‘Determine emptyRow
emptyRow = WorksheetFunction.CountA(Range(«A:A»)) + 1

‘Transfer information
Cells(emptyRow, 1).Value = NameTextBox.Value
Cells(emptyRow, 2).Value = PhoneTextBox.Value
Cells(emptyRow, 3).Value = CityListBox.Value
Cells(emptyRow, 4).Value = DinnerComboBox.Value

If DateCheckBox1.Value = True Then Cells(emptyRow, 5).Value = DateCheckBox1.Caption

If DateCheckBox2.Value = True Then Cells(emptyRow, 5).Value = Cells(emptyRow, 5).Value & » » & DateCheckBox2.Caption

If DateCheckBox3.Value = True Then Cells(emptyRow, 5).Value = Cells(emptyRow, 5).Value & » » & DateCheckBox3.Caption

If CarOptionButton1.Value = True Then
Cells(emptyRow, 6).Value = «Yes»
Else
Cells(emptyRow, 6).Value = «No»
End If

Cells(emptyRow, 7).Value = MoneyTextBox.Value

Explanation: first, we activate Sheet1. Next, we determine emptyRow. The variable emptyRow is the first empty row and increases every time a record is added. Finally, we transfer the information from the Userform to the specific columns of emptyRow.

7. Double click on the Clear button.

8. Add the following code line:

Private Sub ClearButton_Click()

Explanation: this code line calls the Sub UserForm_Initialize when you click on the Clear button.

9. Double click on the Cancel Button.

10. Add the following code line:

Private Sub CancelButton_Click()

Explanation: this code line closes the Userform when you click on the Cancel button.

Test the Userform

Exit the Visual Basic Editor, enter the labels shown below into row 1 and test the Userform.

Читать еще:  Создание книги excel
Ссылка на основную публикацию
Adblock
detector