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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2009, 15:46   #1
ruavia3
Форумчанин
 
Регистрация: 13.03.2009
Сообщений: 253
По умолчанию RowSourse на ячейку активного листа

Есть форма, на которой ListBox берет значения из ячейки определенного листа. Необходимо, чтобы значение бралось из активного листа, без перезагрузки самой формы.
ruavia3 вне форума Ответить с цитированием
Старый 16.04.2009, 16:13   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

В модуль книги вставьте этот код:
Код:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    UserForm1.ListBox1.RowSource = Sh.[a1:a10].Address
End Sub
При переключении между листами содержимое ListBox1 будет обновляться.
EducatedFool вне форума Ответить с цитированием
Старый 16.04.2009, 16:14   #3
ruavia3
Форумчанин
 
Регистрация: 13.03.2009
Сообщений: 253
По умолчанию

Поясните, что значит = Sh.[a1:a10].Address
ruavia3 вне форума Ответить с цитированием
Старый 16.04.2009, 16:15   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Ладно, напишите так:

Код:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    UserForm1.ListBox1.RowSource = "a1:a12"
End Sub
Здесь, надеюсь, комментарии не требуются.
EducatedFool вне форума Ответить с цитированием
Старый 16.04.2009, 16:26   #5
ruavia3
Форумчанин
 
Регистрация: 13.03.2009
Сообщений: 253
По умолчанию

Я просто не понял почему интервал a1:a12 - у меня значения в ListBox должны тянуться из одной ячейки.

Форма, на которой находится ListBox не закрывается при переходе на другой лист, поэтому наверно и ListBox не обновляется.
Если ее выкл, потом вкл то значение ListBox берется уже с активного листа. Нужно, чтобы обновлялось без перезагрузки формы.

Последний раз редактировалось ruavia3; 16.04.2009 в 16:43.
ruavia3 вне форума Ответить с цитированием
Старый 17.04.2009, 10:10   #6
ruavia3
Форумчанин
 
Регистрация: 13.03.2009
Сообщений: 253
По умолчанию

НЕ РАБОТАЕТ, УЧИТЕЛ! )
ruavia3 вне форума Ответить с цитированием
Старый 17.04.2009, 10:22   #7
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Убедитесь, что код от EducatedFool находится именно в модуле "Эта книга", и в том, что при загрузке формы используется немодальное окно т.е. UserForm1.Show (0).
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вставить в ячейку имя листа ElenaTro Microsoft Office Excel 7 16.03.2013 10:50
Картинку в ячейку листа GWolf Microsoft Office Excel 3 16.04.2009 17:51
Поиск активного окна Arigato Win Api 5 22.11.2008 18:32
мониторинг активного сетевого оборудования по протоколу SNMP Virtson Фриланс 2 28.12.2007 13:39