ComboBox с плавающим списком
Паштет
Дата: Суббота, 27.05.2017, 00:38 |
Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 155
Репутация:
7
±
Замечаний:
0% ±
Excel 2010
Доброго времени суток. Пытаюсь сделать список в ComboBox, который бы автоматически пополнялся при получении с листа нового значения. Но никак не получается сделать плавающий диапазон, чтобы использовались бы данные с третьей строки листа по последнюю заполненную. Порывшись по просторам интернета, попытался вставить подобный код: [vba]Код
UserForm1.ComboBox002.List = Range("O3", Cells(Rows.Count, "O").End(xlUp)).Value
[/vba] но не идет и выдает ошибку.
Доброго времени суток. Пытаюсь сделать список в ComboBox, который бы автоматически пополнялся при получении с листа нового значения. Но никак не получается сделать плавающий диапазон, чтобы использовались бы данные с третьей строки листа по последнюю заполненную. Порывшись по просторам интернета, попытался вставить подобный код: [vba]Код
UserForm1.ComboBox002.List = Range("O3", Cells(Rows.Count, "O").End(xlUp)).Value
[/vba] но не идет и выдает ошибку. Паштет
Ответить
Сообщение Доброго времени суток. Пытаюсь сделать список в ComboBox, который бы автоматически пополнялся при получении с листа нового значения. Но никак не получается сделать плавающий диапазон, чтобы использовались бы данные с третьей строки листа по последнюю заполненную. Порывшись по просторам интернета, попытался вставить подобный код: [vba]Код
UserForm1.ComboBox002.List = Range("O3", Cells(Rows.Count, "O").End(xlUp)).Value
[/vba] но не идет и выдает ошибку. Автор - Паштет Дата добавления - 27.05.2017 в 00:38
parovoznik
Дата: Суббота, 27.05.2017, 06:10 |
Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 442
Репутация:
26
±
Замечаний:
0% ±
Excel 2013
[vba]Код
Private Sub UserForm_Initialize() With Sheets("ИБ_Прием") Me.ComboBox002.List = .Range("O3", .Cells(Rows.Count, "O").End(xlUp)).Value End With End Sub
[/vba] Переименуйте имена комбобоксов. Например :cmb_Цех так будет легше писать код
[vba]Код
Private Sub UserForm_Initialize() With Sheets("ИБ_Прием") Me.ComboBox002.List = .Range("O3", .Cells(Rows.Count, "O").End(xlUp)).Value End With End Sub
[/vba] Переименуйте имена комбобоксов. Например :cmb_Цех так будет легше писать код parovoznik
Ответить
Сообщение [vba]Код
Private Sub UserForm_Initialize() With Sheets("ИБ_Прием") Me.ComboBox002.List = .Range("O3", .Cells(Rows.Count, "O").End(xlUp)).Value End With End Sub
[/vba] Переименуйте имена комбобоксов. Например :cmb_Цех так будет легше писать код Автор - parovoznik Дата добавления - 27.05.2017 в 06:10
gling
Дата: Суббота, 27.05.2017, 06:19 |
Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2519
Репутация:
674
±
Замечаний:
0% ±
2010
Здравствуйте. Вы укажите лист на котором этот список[vba]Код
UserForm1.ComboBox002.List = Sheets("ИБ_Прием").Range("O3", Cells(Rows.Count, "O").End(xlUp)).Value
[/vba]
Здравствуйте. Вы укажите лист на котором этот список[vba]Код
UserForm1.ComboBox002.List = Sheets("ИБ_Прием").Range("O3", Cells(Rows.Count, "O").End(xlUp)).Value
[/vba] gling
ЯД-41001506838083
Ответить
Сообщение Здравствуйте. Вы укажите лист на котором этот список[vba]Код
UserForm1.ComboBox002.List = Sheets("ИБ_Прием").Range("O3", Cells(Rows.Count, "O").End(xlUp)).Value
[/vba] Автор - gling Дата добавления - 27.05.2017 в 06:19
Паштет
Дата: Суббота, 27.05.2017, 08:33 |
Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 155
Репутация:
7
±
Замечаний:
0% ±
Excel 2010
Мужики, оба способа попробовал - не идет. Пробовал и в модуль вставлять и форму в разные места. :(( Переименуйте имена комбобоксов. Например :cmb_Цех так будет легше писать код
VBA к кириллице нормально относится? P.S. Я дальше школьной программы в VBA далеко не лазил, а тут пришлось. Пытаюсь на стандартных решениях вылезти.
Мужики, оба способа попробовал - не идет. Пробовал и в модуль вставлять и форму в разные места. :(( Переименуйте имена комбобоксов. Например :cmb_Цех так будет легше писать код
VBA к кириллице нормально относится? P.S. Я дальше школьной программы в VBA далеко не лазил, а тут пришлось. Пытаюсь на стандартных решениях вылезти. Паштет
Ответить
Сообщение Мужики, оба способа попробовал - не идет. Пробовал и в модуль вставлять и форму в разные места. :(( Переименуйте имена комбобоксов. Например :cmb_Цех так будет легше писать код
VBA к кириллице нормально относится? P.S. Я дальше школьной программы в VBA далеко не лазил, а тут пришлось. Пытаюсь на стандартных решениях вылезти. Автор - Паштет Дата добавления - 27.05.2017 в 08:33
Паштет
Дата: Суббота, 27.05.2017, 09:01 |
Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 155
Репутация:
7
±
Замечаний:
0% ±
Excel 2010
Если поменять "О3" на "О2", то начинает работать, но правда при условии, что заполнена первая строка таблицы и добавляет туда еще и заголовок ее. Как я понял, проблема одной строки. Он почему-то ее не может вывести.
Если поменять "О3" на "О2", то начинает работать, но правда при условии, что заполнена первая строка таблицы и добавляет туда еще и заголовок ее. Как я понял, проблема одной строки. Он почему-то ее не может вывести. Паштет
Ответить
Сообщение Если поменять "О3" на "О2", то начинает работать, но правда при условии, что заполнена первая строка таблицы и добавляет туда еще и заголовок ее. Как я понял, проблема одной строки. Он почему-то ее не может вывести. Автор - Паштет Дата добавления - 27.05.2017 в 09:01
gling
Дата: Суббота, 27.05.2017, 09:09 |
Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2519
Репутация:
674
±
Замечаний:
0% ±
2010
Это в форме.[vba]Код
Private Sub UserForm_Initialize() Dim i As Long 'ниже вариант 1 для 002 (Цех) i = 3 Do While Sheets("ИБ_Прием").Cells(i, 15) <> 0 Me.ComboBox002.AddItem Sheets("ИБ_Прием").Cells(i, 15) i = i + 1 Loop 'ниже вариант 2 для 009 (ФИО сдающего) UserForm1.ComboBox009.List = Sheets("ИБ_Прием").Range("O3", Cells(Rows.Count, "O").End(xlUp)).Value End Sub
[/vba]
Это в форме.[vba]Код
Private Sub UserForm_Initialize() Dim i As Long 'ниже вариант 1 для 002 (Цех) i = 3 Do While Sheets("ИБ_Прием").Cells(i, 15) <> 0 Me.ComboBox002.AddItem Sheets("ИБ_Прием").Cells(i, 15) i = i + 1 Loop 'ниже вариант 2 для 009 (ФИО сдающего) UserForm1.ComboBox009.List = Sheets("ИБ_Прием").Range("O3", Cells(Rows.Count, "O").End(xlUp)).Value End Sub
[/vba] gling
ЯД-41001506838083
Ответить
Сообщение Это в форме.[vba]Код
Private Sub UserForm_Initialize() Dim i As Long 'ниже вариант 1 для 002 (Цех) i = 3 Do While Sheets("ИБ_Прием").Cells(i, 15) <> 0 Me.ComboBox002.AddItem Sheets("ИБ_Прием").Cells(i, 15) i = i + 1 Loop 'ниже вариант 2 для 009 (ФИО сдающего) UserForm1.ComboBox009.List = Sheets("ИБ_Прием").Range("O3", Cells(Rows.Count, "O").End(xlUp)).Value End Sub
[/vba] Автор - gling Дата добавления - 27.05.2017 в 09:09
Паштет
Дата: Суббота, 27.05.2017, 10:15 |
Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 155
Репутация:
7
±
Замечаний:
0% ±
Excel 2010
gling, спасибо большое. Первый вариант пошел просто замечательно! Со вторым были проблемы при повторном запуске Но меня и первый вариант устраивает. Спасибо.
gling, спасибо большое. Первый вариант пошел просто замечательно! Со вторым были проблемы при повторном запуске Но меня и первый вариант устраивает. Спасибо. Паштет
Ответить
Сообщение gling, спасибо большое. Первый вариант пошел просто замечательно! Со вторым были проблемы при повторном запуске Но меня и первый вариант устраивает. Спасибо. Автор - Паштет Дата добавления - 27.05.2017 в 10:15