![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 23.08.2010
Сообщений: 14
|
![]()
Оказалось, что я совсем не разбираюсь в адресации диапазонов. Случайно при отладке обнаружила, что вот такая строка:
# With ThisWorkbook.Worksheets(1) With .Range(.Cells(1, 9), .Cells(Rows.Count, 9).End(xlUp)) ... # обращается не к диапазону I1:I244 (у меня получается на листе 244), а к диапазону Y1:Y244, где у меня совершенно нет никаких данных. Но что интерсно, дальше строка # ... Set rRo = .Find(xmas(2), LookIn:=xlValues, LookAt:=xlWhole) End With End With # совершенно правильно находит нужное мне значение в ячейке I188, т.е. в колонке I. Может, мне помогут понять, почему так происходит ![]() и .Find получается ищет везде по листу, а не в оговоренном изначально диапазоне... Или, может, подскажите ссылочку, где хорошо этот вопрос (адресации ячеек) освещен. Ну, как для тупых. ![]() |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
![]() Код:
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 23.08.2010
Сообщений: 14
|
![]()
вставила следующей строкой за Range... команду Debug.print
Debug.Print .Range(.Cells(1, 9), .Cells(Rows.Count, 9).End(xlUp)).Address и он мне такое сказал. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
![]()
Это как в задаче о сапогах.
А угадайте.что выдаст сообщение,какой диапазон Код:
Анализ,обработка данных Недорого
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 23.08.2010
Сообщений: 14
|
![]()
Выдало $H$1.
И это как раз понятно. H - 8-я колонка, как в Cells-ах. Вопрос в другом: почему в моем примере так не получилось? Отчего это зависело? Что надо было предусмотреть или какую команду дать предварительно, чтобы получить то, что нужно. Хорошо, что в моем макросе это никак не повлияло на результат, но где-то в другом месте может и повлиять. А я и не буду знать почему - строка-то отрабатывается. К слову, в этом файле до этого я в листах еще не работала. В загрузке стоит вызов формы, там выбираются значения и форматируется лист. До активации листа на том моменте, о котором я задала вопрос еще не дошло. |
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 23.08.2010
Сообщений: 14
|
![]()
А как вы делаете, чтобы фрагмент кода в сообщении выделялся, а не вставлялся с решеточками, как у меня?
|
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
![]()
Попробуйте так:
Код:
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 23.08.2010
Сообщений: 14
|
![]()
если сделать:
Debug.Print .Range(.Cells(1, 9), .Cells(Rows.Count, 9).End(xlUp).Address).Address - Получается тот же самый результат $Y$1:$Y$244 Это я получается задала диапазон от ячейки 1,9 до ячейки с адресом ".Cells(Rows.Count, 9).End(xlUp).Address" . Интересно. И тем не менее, почему $Y? Ну, хоть намекните от чего это может зависеть? Практически такой же пример Doober-а, где он хотел меня подколоть, адресовывает все так, как и следовало ожидать. Последний раз редактировалось samoa; 09.11.2010 в 22:45. |
![]() |
![]() |
![]() |
#9 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
![]()
Такого не должно быть. Видимо, где-то ошибка. Можете приложить файл в принципе
|
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
![]() Цитата:
Код:
Анализ,обработка данных Недорого
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с многоуровневой адресацией | grook | Общие вопросы C/C++ | 3 | 18.12.2010 17:15 |
Снова торможу с адресацией... | tae1980 | Microsoft Office Excel | 18 | 28.03.2010 21:05 |
Помогите с адресацией листа в формуле | ABCOz | Microsoft Office Excel | 2 | 09.09.2009 13:38 |
Помогите новичку с адресацией разобраться | Zeneth | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 13 | 16.06.2009 19:55 |
ячейка на одном листе, в которую необходимо подставлять данные из столбца, находящегося на другом листе | Ирина Водолагина | Microsoft Office Excel | 4 | 04.03.2009 23:38 |