AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.05.2010, 14:40   #1  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
На VBA объект Range, ссылающийся на последнюю ячейку непрерывного прямоугольного диапазона B2: D4, может быть получен как:
Код:
lastCell = Range("B2:D4").Cells( Range("B2:D4").Cells.Count )

ну или в виде, более удобном для преобразования в X++ как :

lastCell = Range("B2:D4").Cells.Item( Range("B2:D4").Cells.Count )

или в именах этой конкретной задачи как:

lastCell = Range("Area").Cells.Item( Range("Area").Cells.Count )
В окне отладки VBA (immediate window) можно проверить так:
Код:
? Range("B2:D4").Cells.Item(Range("B2:D4").Cells.Count).Address(false,false)
D4
Фишка в том, что ячейки диапазона допускают не только двухмерную адресацию вида (строка внутри диапазона, столбец внутри диапазона), но и одномерную с индексом от 1 до кол-во ячеек диапазона (свойство Count).

P.S. Проиллюстрирую нумерацию ячеек внутри диапазона B2: D4, который состоит из следующих ячеек
Код:
B2 C2 D2
B3 C3 D3
B4 C4 D4
При обращении через Range("B2: D4").Cells.Item(row,col) - т.е. при двухмерной индексации - индексы (row,col) соответственно выглядят так:
Код:
(1,1) (1,2) (1,3)
(2,1) (2,2) (2,3)
(3,1) (3,2) (3,3)
Т.е. Range("D4") это то же самое, что Range("B2: D4").Cells.Item(3,3).

При обращении через Range("B2: D4").Cells.Item(i) - т.е. при одномерной индексации - индекс (i) соответственно выглядит так (нумерация идёт по строкам):
Код:
(1) (2) (3)
(4) (5) (6)
(7) (8) (9)
Т.е. Range("D4") это то же самое, что Range("B2: D4").Cells.Item(9), где 9 = Range("B2: D4").Cells.Count

Последний раз редактировалось Gustav; 04.05.2010 в 11:44. Причина: добавил иллюстрацию различных способов нумерации ячеек
За это сообщение автора поблагодарили: andrewK (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Исследование скорости экспорта данных из Axapta в Excel (коллективный эксперимент) Gustav DAX: База знаний и проекты 79 13.02.2014 13:18
Высота ячеек Excel eva DAX: Программирование 8 20.03.2012 22:42
emeadaxsupport: How does the Export to Excel feature work under the hood? Blog bot DAX Blogs 0 07.09.2009 19:05
[Excel] - Несколько версий Excel на машине клиента Андре DAX: Программирование 11 07.08.2007 13:45
Работа с Excel через COM и ошибка 0x800A03EC (Range.AutoFilter) gl00mie DAX: Программирование 15 30.03.2007 18:37
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 13:32.