1. изменить диапазон действия кнопки (лист ВВОД), чтобы начало действия её было с ячейки D6, а заканчивалось на D50.. (данные берутся с базы, столбец С)? 2. как сделать, чтобы кнопка дополнительно действовала точно так же как в диапазоне D6-D50, но в столбце Е (Е6-Е50), а данные в ней брались бы из столбца D базы?
Спасибо
Подскажите пожалуйста, как
1. изменить диапазон действия кнопки (лист ВВОД), чтобы начало действия её было с ячейки D6, а заканчивалось на D50.. (данные берутся с базы, столбец С)? 2. как сделать, чтобы кнопка дополнительно действовала точно так же как в диапазоне D6-D50, но в столбце Е (Е6-Е50), а данные в ней брались бы из столбца D базы?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim arr(), lr As Long, i As Long
If Target.Column < 4 Or Target.Column > 5 Then Exit Sub If Target.Row < 6 Or Target.Row > 50 Then Exit Sub r = Target.Row: c = Target.Column Select Case Target.Column Case 4 lr = Sheets(1).Cells(Sheets(1).Rows.Count, "C").End(xlUp).Row arr() = Sheets(1).Range("C1:C" & lr).Value Case 5 lr = Sheets(1).Cells(Sheets(1).Rows.Count, "D").End(xlUp).Row arr() = Sheets(1).Range("D1:D" & lr).Value End Select UserForm1.ListBox2.Clear For i = 2 To UBound(arr) If arr(i, 1) <> "" Then UserForm1.ListBox2.AddItem arr(i, 1) End If Next i UserForm1.Show
End Sub
[/vba]
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim arr(), lr As Long, i As Long
If Target.Column < 4 Or Target.Column > 5 Then Exit Sub If Target.Row < 6 Or Target.Row > 50 Then Exit Sub r = Target.Row: c = Target.Column Select Case Target.Column Case 4 lr = Sheets(1).Cells(Sheets(1).Rows.Count, "C").End(xlUp).Row arr() = Sheets(1).Range("C1:C" & lr).Value Case 5 lr = Sheets(1).Cells(Sheets(1).Rows.Count, "D").End(xlUp).Row arr() = Sheets(1).Range("D1:D" & lr).Value End Select UserForm1.ListBox2.Clear For i = 2 To UBound(arr) If arr(i, 1) <> "" Then UserForm1.ListBox2.AddItem arr(i, 1) End If Next i UserForm1.Show
Чтобы работало для всех листов, нужно сделать событие в модуле книги (смотрите код во вложенном файле). Я указал в коде имя листа "база", чтобы не было привязки к положению листа. Это может упростит работу с файлом. Я оставил в файле только один лист с данными, чтобы протестировать.
Чтобы работало для всех листов, нужно сделать событие в модуле книги (смотрите код во вложенном файле). Я указал в коде имя листа "база", чтобы не было привязки к положению листа. Это может упростит работу с файлом. Я оставил в файле только один лист с данными, чтобы протестировать.Karataev
Karataev Вы извините пожалуйста, я еще не совсем уловил правила... думал раз Вы не отвечаете, значит надо на новый вопрос создать новую тему. Благодарю Вас за помощь.
Я в новой теме задал еще один вопрос, повторю его и здесь - может и Вы что-нибудь посоветуете:
я становлюсь в ячейку в столбце D, вставляю нужное (в форме данные столбца С базы) и тут-же перехожу в ячейку столбца Е чтобы вставить данные (в форме должны быть данные столбца D базы) а в форме еще данные столбца С базы. И мне приходится клацнуть мышкой где-нибудь сбоку потом опять в ту ячейку куда надо ввести данные и только после этих телодвижений в форме меняются данные на нужные. Можно что-нибудь с этим сделать?
Karataev Вы извините пожалуйста, я еще не совсем уловил правила... думал раз Вы не отвечаете, значит надо на новый вопрос создать новую тему. Благодарю Вас за помощь.
Я в новой теме задал еще один вопрос, повторю его и здесь - может и Вы что-нибудь посоветуете:
я становлюсь в ячейку в столбце D, вставляю нужное (в форме данные столбца С базы) и тут-же перехожу в ячейку столбца Е чтобы вставить данные (в форме должны быть данные столбца D базы) а в форме еще данные столбца С базы. И мне приходится клацнуть мышкой где-нибудь сбоку потом опять в ту ячейку куда надо ввести данные и только после этих телодвижений в форме меняются данные на нужные. Можно что-нибудь с этим сделать?grh1