Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2022, 15:53   #1
DMITRIY_78
Форумчанин
 
Регистрация: 11.12.2018
Сообщений: 202
По умолчанию передать данные в комбо

Рябата Здравствуйте! подскажите как передать в комбобокс данные а именно;
вот как передать с диапазона я знаю
Код:
For Each c In Worksheets("db").Range("B1:B10")
   ComboBox1.AddItem (c)
Next
- а вот как передать что бы лишних "пустых" ячеек не захватывать не знаю?
Код:
For Each c In Worksheets("db").Range("B").End(xlDown).Rows  - пробовал не получается
   ComboBox1.AddItem (c)
Next
Что нас не убивает, то делает нас сильными!
Всё гениальное просто, всё простое гениально!
DMITRIY_78 вне форума Ответить с цитированием
Старый 21.01.2022, 16:04   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Цитата:
Сообщение от DMITRIY_78 Посмотреть сообщение
лишних "пустых" ячеек
ето какие, пример?

Код:
For Each c In Worksheets("db").Range("B1:B10")
 if c.value2 <> "" then
   ComboBox1.AddItem (c)
end if
Next
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.

Последний раз редактировалось Aleksandr H.; 21.01.2022 в 16:09.
Aleksandr H. вне форума Ответить с цитированием
Старый 21.01.2022, 16:08   #3
DMITRIY_78
Форумчанин
 
Регистрация: 11.12.2018
Сообщений: 202
По умолчанию

Цитата:
Сообщение от DMITRIY_78 Посмотреть сообщение
End(xlDown).Rows
считать до конца заполненной строки
что то код ваш не срабатывает
Что нас не убивает, то делает нас сильными!
Всё гениальное просто, всё простое гениально!
DMITRIY_78 вне форума Ответить с цитированием
Старый 21.01.2022, 16:12   #4
DMITRIY_78
Форумчанин
 
Регистрация: 11.12.2018
Сообщений: 202
По умолчанию

Код:
Range("B1:B16")
что бы каждый раз не увеличивать диапазон
Что нас не убивает, то делает нас сильными!
Всё гениальное просто, всё простое гениально!

Последний раз редактировалось DMITRIY_78; 21.01.2022 в 16:16.
DMITRIY_78 вне форума Ответить с цитированием
Старый 21.01.2022, 16:41   #5
DMITRIY_78
Форумчанин
 
Регистрация: 11.12.2018
Сообщений: 202
По умолчанию

вот так у меня получилось:
Код:
Dim c
For Each c In Sheets("db").Range("B1:B" & Range("B200").End(xlUp).Row).Value
   ComboBox1.AddItem (c)
Next
Что нас не убивает, то делает нас сильными!
Всё гениальное просто, всё простое гениально!
DMITRIY_78 вне форума Ответить с цитированием
Старый 21.01.2022, 23:32   #6
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

без цикла не работает?
Код:
dim iLastRow as integer
with sheets("db")
iLastRow = .cells(.rows.count,"B").end(xlUp).row

Me.ComboBox1.List = .Range("B1:B" & iLastRow).Value
end with
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.

Последний раз редактировалось Aleksandr H.; 21.01.2022 в 23:35.
Aleksandr H. вне форума Ответить с цитированием
Старый 22.01.2022, 14:23   #7
DMITRIY_78
Форумчанин
 
Регистрация: 11.12.2018
Сообщений: 202
По умолчанию

Aleksandr H., СПАСИБО ОГРОМНОЕ, сейчас этим кодом решился сразу попутный вопрос!
Что нас не убивает, то делает нас сильными!
Всё гениальное просто, всё простое гениально!
DMITRIY_78 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передать данные в WinExec HTTqp Общие вопросы Delphi 6 13.06.2015 22:11
Передать данные формы MedwedoS JavaScript, Ajax 2 23.11.2014 19:25
Передать данные с формы UKRtortik PHP 5 23.04.2014 17:59
Передать данные в php, проблема. wmm PHP 0 03.10.2012 15:33
Передать данные в интернет CKorpion Работа с сетью в Delphi 3 07.08.2010 12:38