Новости:

Теперь на форум можно залогиниться / зарегистрироваться с помощью ВКонтакте. Уже существующие пользователи могут связать свою учетную запись с аккаунтом ВКонтакте одним кликом в профиле пользователя http://forum.msexcel.ru/index.php?action=profile;area=account

Главное меню

VBA TextBox

Автор Александр Косинов, 09.02.2012, 18:29

« назад - далее »

Александр Косинов

Пожалуйста помогите с кодом, задача заполнить таблицу из 4-ёх колонок из текстбоксов юзерформы, с кнопкой и активации 1 текст бокса мышкой получается, но хотелось бы без кнопки всё через энтер, возможно так помогите!!!!!!!!!!!

Private Sub cmdOk_Click()
Dim n As Integer
n = Range("A1").CurrentRegion.Rows.Count
Cells(n + 1, 1).Value = TextBox1.Text
Cells(n + 1, 2).Value = TextBox2.Text
Cells(n + 1, 3).Value = TextBox3.Text
Cells(n + 1, 4).Value = TextBox4.Text
End Sub
NULL

exceleved

Обычно для перехода к следующему контролу используют Tab (к предыдущему - Shift+tab). Порядок перехода можно задать с помощью свойства TabIndex каждого контрола.
А этот код можно записать в одну строку:Private Sub cmdOk_Click()
cells(Range("A1").CurrentRegion.Rows.Count+1,1).resize(,4).value=array(TextBox1,TextBox2,TextBox3,TextBox4)
End Sub

Александр Косинов

Спасибо большое за помощь!!!!!!!!!! А без Tab я так понимаю не бойтись и эту функцию не пропишешь?
NULL

exceleved

Попробовал - переход в следующий контрол из текстбокса по Enter также происходит.
Значит, или для последнего текстбокса пишите Private Sub TextBox4_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Cells(Range("A1").CurrentRegion.Rows.Count + 1, 1).Resize(, 4).Value = Array(TextBox1, TextBox2, TextBox3, TextBox4)
End Sub
или для каждого текстбокса пишите запронение своей ячейки по событию Exit.

Александр Косинов

Супер!!!!!!!!!!!!! Больщое спасибо, как мне Вас отблагодарить?
NULL