![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 20.06.2011
Сообщений: 10
|
![]()
как присвоить объект объектной переменной в модуле чтобы пользоваться ею из любого листа ?
почему так не работает ? Public Key As Excel.Range Set Key = Workbooks(BookName).Worksheets("dde ").Cells(3, 12) |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Я бы сказал, что должно работать.
Но я бы писал так: Public Key_ As Range Sub tt() Set Key_ = Workbooks(BookName).Worksheets("dde ").Cells(3, 12) End sub Excel.Range - не уверен, что поймёт Key - может быть служебное имя. Так что я бы брал другое слово Ну и использовать иногда приходилось так: Module1.Key_ Почему - не знаю, не вникал. P.S. писал без проверки...
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#3 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
1.это
Код:
2.BookName - определено на момент выполнения (чему равно)? 3.в книге есть лист с имемем "dde "?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 20.06.2011
Сообщений: 10
|
![]()
и изменил имя- не помогло
![]() |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 20.06.2011
Сообщений: 10
|
![]()
1. сначала использовал в процедуре на одном из листов- все работало, но задача усложнилась надо работать на разных листах и потому озадачился "глобализацией" , потому вытащил в модуль вне процедур
2. да определено выше Public Const BookName = "SR.xls" 3. лист есть конечно |
![]() |
![]() |
![]() |
#6 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
на вид все корректно...
а сделайте так: Public MyVar Public Const BookName = "SR.xls" sub bb set myvar = Workbooks(BookName) set myvar = Workbooks(BookName).Worksheets("dde ") set myvar = Workbooks(BookName).Worksheets("dde ").Cells(3, 12) end sub на какой строке вылетает с какой ошибкой?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 20.06.2011
Сообщений: 10
|
![]()
Set MyVar = Workbooks(BookName).Worksheets("dde ")
я уже и присваивал объект в процедуре открытия книги, не помогает как dim работает , как public нет может невозможно глобально присвоить объект переменной ? ![]() |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
![]()
Не может этого быть,давайте файл на вскрытие
Анализ,обработка данных Недорого
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 20.06.2011
Сообщений: 10
|
![]()
объектная переменная существует в оперативной памяти компьютера только во время выполнения процедуры, которая находится в модуле, содержащем эту переменную. И если эта процедура вызывает другую процедуру, то до завершения выполнения этой процедуры.
так что похоже в лоб не получиться но тогда у меня остался вопрос : а как тогда мне действовать дело в том что я слабенький программист а vba вообще тока начал изучать , но тем не менее люблю читабельный код а не кучу ссылок но мне нужны типа объектных переменных , но работать с ними в процедурах на разных листах и разных событиях- т.е. что то типа "глобальных объектных переменных" как этого добиться? спасибо Вам. |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
![]()
Вы бы лучше пример с пояснениями и желаниями прикрепили.
Анализ,обработка данных Недорого
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
можно ли сначала присвоить переменной значение , а потом опредилить ее? | ромик0 | Общие вопросы C/C++ | 12 | 13.06.2011 17:33 |
Можно ли присвоить значение переменной из get_object_vars( ) | slips | PHP | 0 | 09.03.2011 16:38 |
Присвоить результат запроса переменной | Droid | БД в Delphi | 25 | 06.05.2010 00:55 |
присвоить значение формы переменной | bicdibus | Общие вопросы Delphi | 4 | 19.03.2010 17:22 |
Присвоить результат запроса переменной | XATAB | БД в Delphi | 3 | 25.02.2009 21:20 |