|
|
|
| На листе есть 5 контрол TextBox. Надо после открытия листа установить программно курсор в TextBox1, после ввода данных установить курсор в следующий TextBox2 и т.д.
Помогите, пожалуйста. | |
|
| |
|
|
|
| Установи свойство TabIndex - 0,1,2,3.4 от первого текстбокса до пятого. | |
|
| |
|
|
|
| А можно поподробнее, в коде . У меня не определена форма, просто лист "Главная". Какого объекта это свойство? Кроме того, у меня на листе есть еще TextBox только для вывода информации, т.е. TabIndex только от 0 до 4. Простите, я не очень сильна в понятиях объект, свойства. | |
|
| |
|
|
|
| Не внимательно прочитал вопрос. Мой совет относится к форме.
А с листом можно так:
Активация при открытии:
Private Sub Worksheet_Activate()
TextBox1.Activate
End Sub
Активация следующего поля при нажатии Enter:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then TextBox2.Activate
End Sub | |
|
| |
|
|
|
| Спасибо большое, Вы мне очень помогли. А можно еще вопрос? После ввода данных надо нажать клавишу "Расчет данных" , чтобы выполнить расчет по формулам. Я делаю как бы подсказку оператору и выделяю эту кнопку
CommandButton1.Activate .
Но как потом убрать это выделение? Какой метод или свойство использовать? | |
|
| |
|
|
|
| в общем-то лучше использовать свойство SetFocus
после этого установите фокус на другой элемент (поле)
по большому счету - всё это лишнее :) | |
|
| |