|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
09.11.2010, 21:42 | #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 получается ищет везде по листу, а не в оговоренном изначально диапазоне... Или, может, подскажите ссылочку, где хорошо этот вопрос (адресации ячеек) освещен. Ну, как для тупых. |
09.11.2010, 22:03 | #2 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
Код:
|
09.11.2010, 22:06 | #3 |
Пользователь
Регистрация: 23.08.2010
Сообщений: 14
|
вставила следующей строкой за Range... команду Debug.print
Debug.Print .Range(.Cells(1, 9), .Cells(Rows.Count, 9).End(xlUp)).Address и он мне такое сказал. |
09.11.2010, 22:16 | #4 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
Это как в задаче о сапогах.
А угадайте.что выдаст сообщение,какой диапазон Код:
Анализ,обработка данных Недорого
|
09.11.2010, 22:25 | #5 |
Пользователь
Регистрация: 23.08.2010
Сообщений: 14
|
Выдало $H$1.
И это как раз понятно. H - 8-я колонка, как в Cells-ах. Вопрос в другом: почему в моем примере так не получилось? Отчего это зависело? Что надо было предусмотреть или какую команду дать предварительно, чтобы получить то, что нужно. Хорошо, что в моем макросе это никак не повлияло на результат, но где-то в другом месте может и повлиять. А я и не буду знать почему - строка-то отрабатывается. К слову, в этом файле до этого я в листах еще не работала. В загрузке стоит вызов формы, там выбираются значения и форматируется лист. До активации листа на том моменте, о котором я задала вопрос еще не дошло. |
09.11.2010, 22:27 | #6 |
Пользователь
Регистрация: 23.08.2010
Сообщений: 14
|
А как вы делаете, чтобы фрагмент кода в сообщении выделялся, а не вставлялся с решеточками, как у меня?
|
09.11.2010, 22:31 | #7 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
Попробуйте так:
Код:
|
09.11.2010, 22:42 | #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. |
09.11.2010, 22:44 | #9 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
Такого не должно быть. Видимо, где-то ошибка. Можете приложить файл в принципе
|
09.11.2010, 22:49 | #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 |