Ms. Excel · 15.04.2022 0

Excel. Урок 66. Форма для редактирования данных в текущей строке

Продолжаем знакомство с языком программирования в Excel — Visual Basic.

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

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

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

Смотрите видео на RUtube

На Яндекс Дзен

На YouTube

Скрипт закрытия формы при отмене

Private Sub CommandButton1_Click()
UserForm2.Hide
End Sub

Скрипт для открытия формы и считывания данных из таблицы и их записи на форму

Private Sub UserForm_Initialize()
Dim adr, strstr = ActiveCell.Row
adr = «A» & str
TextBox1.Text = Range(adr).Value
adr = «B» & str
TextBox2.Text = Range(adr).Value
adr = «C» & str
TextBox3.Text = Range(adr).Value
End Sub

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

Private Sub CommandButton2_Click()
Dim adr, str, zn
str = ActiveCell.Row

adr = «A» & str
zn = TextBox1.Text
Range(adr).Value = zn

adr = «B» & str
zn = TextBox2.Text
Range(adr).Value = zn

adr = «C» & str
zn = TextBox3.Text
Range(adr).Value = zn

UserForm2.Hide
Unload UserForm2

End Sub