Мне нужно очень быстро заполнять ячейки в столбце. Причем в одну ячейку я записываю несколько значений из списка через запятую.
Как сделать, чтобы при нажатии Enter выделенные значения записывались в выделенную ячейку (сейчас приходится нажимать кнопку "Выбрать"), затем форма закрывалась и курсор переходил на следующую строку.
Пример файла прикладываю.
[img][/img]
Мне нужно очень быстро заполнять ячейки в столбце. Причем в одну ячейку я записываю несколько значений из списка через запятую.
Как сделать, чтобы при нажатии Enter выделенные значения записывались в выделенную ячейку (сейчас приходится нажимать кнопку "Выбрать"), затем форма закрывалась и курсор переходил на следующую строку.
Private Sub UserForm_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) If KeyAscii = 13 Then CommandButton1_Click Cells(ActiveCell.Row + 1, ActiveCell.Column).Select End If If KeyAscii = 27 Then CommandButton2_Click If KeyAscii = 8 Then CommandButton2_Click undosub End If End Sub
Private Sub ListBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) If KeyAscii = 13 Then CommandButton1_Click Cells(ActiveCell.Row + 1, ActiveCell.Column).Select End If If KeyAscii = 27 Then CommandButton2_Click If KeyAscii = 8 Then CommandButton2_Click undosub End If End Sub Private Sub undosub() ' действия по отмене ввода по клавише Backspase End Sub
[/vba]
добрый вечер! вот так пойдет?
[vba]
Код
Private Sub UserForm_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) If KeyAscii = 13 Then CommandButton1_Click Cells(ActiveCell.Row + 1, ActiveCell.Column).Select End If If KeyAscii = 27 Then CommandButton2_Click If KeyAscii = 8 Then CommandButton2_Click undosub End If End Sub
Private Sub ListBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) If KeyAscii = 13 Then CommandButton1_Click Cells(ActiveCell.Row + 1, ActiveCell.Column).Select End If If KeyAscii = 27 Then CommandButton2_Click If KeyAscii = 8 Then CommandButton2_Click undosub End If End Sub Private Sub undosub() ' действия по отмене ввода по клавише Backspase End Sub
P.S. Можете ещё подсказать, как сделать чтобы форму не сразу выскакивала при заходе в ячейку, а при нажатии клавиши "insert". Трудно бегать по списку, при каждом переходе выскакивает форма. Хочется её как-то деактивировать на время и снова включать
Спасибо! Вы очень помогли!
P.S. Можете ещё подсказать, как сделать чтобы форму не сразу выскакивала при заходе в ячейку, а при нажатии клавиши "insert". Трудно бегать по списку, при каждом переходе выскакивает форма. Хочется её как-то деактивировать на время и снова включатьmaavar
Сообщение отредактировал maavar - Пятница, 06.09.2019, 19:01