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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.02.2015, 14:34   #1
Outed
Пользователь
 
Регистрация: 03.12.2014
Сообщений: 12
По умолчанию Диапазоны в VBA

Помогите с синтаксисом! Есть несколько ячеек которые необходимо перенести в комбобокс, причем ячейки добавляются или удаляются, диапазон постоянно меняется, как это можно сделать? Заранее буду благодарен любой помощи!
Outed вне форума Ответить с цитированием
Старый 16.02.2015, 17:06   #2
Smogg
Участник клуба
 
Регистрация: 14.06.2011
Сообщений: 1,138
По умолчанию

Если у вас никаких признаков, где кончается и начинается диапазон, то и сделать ничего нельзя, кроме как загнать в комбобокс весь столбец или строку (с маленьким фильтром на отсеивание пустых ячеек)
Smogg вне форума Ответить с цитированием
Старый 17.02.2015, 06:55   #3
Outed
Пользователь
 
Регистрация: 03.12.2014
Сообщений: 12
По умолчанию

Диапазон начинается с начала столбца или строки допустим с А2 и кончается например А10, вот и нужный диапазон А2:А10, с ним и работаем. Далее в процессе добавляется новая строка или столбец А11 и диапазон меняется А2:А11, необходимо чтобы программа автоматически изменила диапазон и внесла в мой combobox добавленную строку или столбец
Outed вне форума Ответить с цитированием
Старый 17.02.2015, 08:25   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

получить ссылку на диапазон ячеек можно так:
Код:
Dim ra As Range: Set ra = Range(Range("a2"), Range("a" & Rows.Count).End(xlUp))
чтобы комбобокс ссылался на динамический диапазон ячеек (переменной высоты), попробуйте так:
Код:
Combobox1.RowSource = Range(Range("a2"), Range("a" & Rows.Count).End(xlUp)).Address
EducatedFool вне форума Ответить с цитированием
Старый 17.02.2015, 08:38   #5
Outed
Пользователь
 
Регистрация: 03.12.2014
Сообщений: 12
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
получить ссылку на диапазон ячеек можно так:
Код:
Dim ra As Range: Set ra = Range(Range("a2"), Range("a" & Rows.Count).End(xlUp))
чтобы комбобокс ссылался на динамический диапазон ячеек (переменной высоты), попробуйте так:
Код:
Combobox1.RowSource = Range(Range("a2"), Range("a" & Rows.Count).End(xlUp)).Address
Благодарю Вас за помощь, все работает!!!!
Outed вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разбить на диапазоны! Seregakz Общие вопросы Delphi 3 21.09.2014 16:49
Несвязные диапазоны СУММЕСЛИ iGremlin Microsoft Office Excel 13 25.03.2013 16:42
Динамические именованные диапазоны DiemonStar Microsoft Office Excel 4 25.12.2012 13:33
Поменять местами диапазоны bize Microsoft Office Excel 8 09.02.2012 21:18
Динамические диапазоны LaryMusa Microsoft Office Excel 8 05.07.2010 21:20