Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проблема отлова текстбокса / 9 сообщений из 9, страница 1 из 1
17.05.2007, 20:28
    #34533937
Ingvarpo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема отлова текстбокса
Извините за мою навящивость..
Нужно,чтобы после нажатия кнопки добавить:
1.очищались тестбоксы
2. активировался первый
3 в него вводилась информация
4 затем после нажатия Enter следовал следующий текстбокс
(не знаю как сделать это после Text.setfocus)


Set currentrange = ObjExc.ActiveSheet.Cells(1, 1).CurrentRegion

a = currentrange.Rows.Count
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
xyz = 0
Text1.SetFocus

With ObjExc
.ActiveSheet.Cells(a + 1, 1) = Text1.Text
.ActiveSheet.Cells(a + 1, 2) = Text2.Text
.ActiveSheet.Cells(a + 1, 3) = Text3.Text
.ActiveSheet.Cells(a + 1, 4) = Text4.Text
.ActiveSheet.Cells(a + 1, 5) = Text5.Text
.ActiveSheet.Cells(a + 1, 6) = Text6.Text
.ActiveSheet.Cells(a + 1, 7) = Text7.Text
.ActiveWorkbook.Close True
.SheetsInNewWorkbook = 1
.Workbooks.Open ("business\comp.xls")
Set currentrange = .ActiveSheet.Cells(1, 1).CurrentRegion
a = currentrange.Rows.Count
.ActiveSheet.Range(.ActiveSheet.Cells(2, 2), .ActiveSheet.Cells(a, 2)).Sort _
Key1:=.Cells(2, 2), Order1:=xlAscending


.ActiveWorkbook.Close True
End With
...
Рейтинг: 0 / 0
17.05.2007, 20:49
    #34533959
Ingvarpo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема отлова текстбокса
Inputbox ы не предлагать - сам так делал, но преподу не понравилось
ему надо как всегда все через жопу
...
Рейтинг: 0 / 0
17.05.2007, 22:12
    #34534081
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема отлова текстбокса
Пример для трех техт боксов (SetFocus не существует):

Private Sub CommandButton1_Click()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox1.Activate
End Sub

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyReturn Then TextBox2.Activate
End Sub
Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyReturn Then TextBox3.Activate
End Sub
Private Sub TextBox3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyReturn Then TextBox1.Activate
End Sub

А с Inputbox действительно будет хуже. Они устарели и существуют для "порядку".
...
Рейтинг: 0 / 0
17.05.2007, 22:52
    #34534124
Ingvarpo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема отлова текстбокса
Text1.Activate не работает
Выдает, что метод или дата не найдены
...
Рейтинг: 0 / 0
18.05.2007, 00:01
    #34534162
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема отлова текстбокса
Пример показан для текстбоксов, расположенных на листе. Для текстбоксов на форме замените Activate на SetFocus и поместите этот код в форму:

Private Sub CommandButton1_Click()
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox1.SetFocus
End Sub

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyReturn Then TextBox2.SetFocus
End Sub

Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyReturn Then TextBox3.SetFocus
End Sub

Private Sub TextBox3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = vbKeyReturn Then TextBox1.SetFocus
End Sub
...
Рейтинг: 0 / 0
18.05.2007, 00:07
    #34534166
Ingvarpo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема отлова текстбокса
Спасибо за помощь, но я уже решил проблему)))
вышел через setfocus

затем Text_change
после отлов Enter
...
Рейтинг: 0 / 0
18.05.2007, 11:51
    #34535038
gjghjc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема отлова текстбокса
На этапе размещения элементов расположи их TabIndex в порядке возрастания
у остальных элементов которые присутсвуют на форме TabStop = False
и у тебя курсор будет по нажатию энтера скакать с одного текстбокса на следующий... когда дойдет до последнего автоматом перейдет на первый
...
Рейтинг: 0 / 0
18.05.2007, 15:07
    #34536008
VladConn
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема отлова текстбокса
IngvarpoСпасибо за помощь, но я уже решил проблему)))
вышел через setfocus

затем Text_change
после отлов Enter

Ingvarpo,

Text_change не самый лучший вариант. Это событие слишком часто срабатывает. Оно не предназначено для перехвата нажатия клавиш.
...
Рейтинг: 0 / 0
18.05.2007, 17:36
    #34536610
Ingvarpo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема отлова текстбокса
Не хочу мучиться - просто курсовик надо дописать.
Код даже смотреть не будут.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Проблема отлова текстбокса / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]