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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.08.2016, 09:48   #1
S_Wish
 
Регистрация: 02.08.2016
Сообщений: 5
По умолчанию Indirect vba в русском офисе

День добрый. У меня есть ячейка (d4) которая выглядит так
Код:
=A1 & B1&":"& A2 & B2
выводит A5:B10
хочу в макросе прописать чтобы мой рейндж присвоился как индирект по этой ячейке, гугл мне нашел что так должно работать:
Код:
Range([indirect("a1")]).Select
я пишу
Код:
Dim SelRange As Range
Set SelRange = indirect("d4")
мне говорит что функция или саб indirect не определена. писал как в русском ДВССЫЛ, аналогичное выдает.
Подскажите как реализовывать индирект в vba
S_Wish вне форума Ответить с цитированием
Старый 03.08.2016, 10:02   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Set SelRange = Range([d4].value)
или
Set SelRange = Range(Range("d4").value)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 03.08.2016, 10:06   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

чтобы воспользоваться indirect
следует написать
worksheetfunction.indirect(...)

только то, что Вы написали: indirect("d4") - не даст нужного результата
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 08.08.2016, 12:31   #4
S_Wish
 
Регистрация: 02.08.2016
Сообщений: 5
По умолчанию

да, я уже попробовал, не получилось через эту функцию, но через рейнджи все работает.
Если работать через r1c1 ссылки, то как вычитать эту же ячейку в рейндже? я заменял d4 на r4c4, оставлял само d4, оно ругалось.
или же ексель не может вчитать в range по формату A1 когда я пользуюсь r1c1? //проблема в том, что графики просят формат А1
Появилась идея: во время работы макроса поменять r1c1 на a1 перед считыванием диапазона из ячейки, но выглядит очень криво, сейчас поищу как прописать и попробую

Последний раз редактировалось S_Wish; 08.08.2016 в 12:59.
S_Wish вне форума Ответить с цитированием
Старый 08.08.2016, 13:06   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
проблема в том, что графики просят формат А1
увы, проблема в том , что Вы не понимаете что пишете
а VBA требует корректной записи. каким способом будет указан диапазон по барану - главное чтобы диапазон был указан КОРРЕКТНО!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 08.08.2016, 17:25   #6
S_Wish
 
Регистрация: 02.08.2016
Сообщений: 5
По умолчанию

решил таки почитать мануалы, теперь стало все ясно и работает с первого раза
S_Wish вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа VBA кода написанного на русском языке в английской версии excel MaxxVer Microsoft Office Excel 3 23.10.2014 15:32
Проблемы в офисе 2010 Роза1994 Microsoft Office Word 1 25.10.2011 23:45
Использование Indirect cerberochek Microsoft Office Excel 3 06.09.2010 17:29
В нашем офисе... ds.Dante Свободное общение 11 07.10.2009 20:48