|
VBA скрипт
|
|||
---|---|---|---|
#18+
Добрый день. Подскажите пожалуйста, как в скрипте VBA вытащить самый нижний объект "строк", выбранный пользователем в сводной таблице. Пока получается только вытащить все, ранее не работал с VBA, не совсем понимаю как можно проверить объект к принадлежности строк. Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2017, 12:16 |
|
VBA скрипт
|
|||
---|---|---|---|
#18+
В таком варианте выводятся то что нужно, но как узнать порядок? т.е. мне нужен самый нижний атрибут, как получить некий индекс? Код: sql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2017, 13:22 |
|
VBA скрипт
|
|||
---|---|---|---|
#18+
IDVTВ таком варианте выводятся то что нужно, но как узнать порядок? т.е. мне нужен самый нижний атрибут, как получить некий индекс? Код: sql 1. 2. 3. 4. 5. 6. 7.
Убрать цикл и подставить .RowFields.Count вместо i. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2017, 14:40 |
|
VBA скрипт
|
|||
---|---|---|---|
#18+
Не, не совсем то, нужно как то обыграть через "MsgBox .RowFields(i).Position" т.е. вывести имя объекта у которого позиция в сводной таблице = RowFields.Count. Но пока не нашел как это сделать... ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2017, 16:10 |
|
VBA скрипт
|
|||
---|---|---|---|
#18+
Вот таким образом, я получаю корректное значение. Как избавиться от цикла, он тут совсем не к месту? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2017, 16:33 |
|
VBA скрипт
|
|||
---|---|---|---|
#18+
IDVT, Видимо, я плохо объяснил, что имел в виду. Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2017, 16:50 |
|
VBA скрипт
|
|||
---|---|---|---|
#18+
Неее, все отлично объяснили. Дело в том, что, порядок кривой, к примеру индекс максимальной позиции (он же «.RowFields.Count») не соответствует индексу «.RowFields(i).Position», т.е.: MsgBox .RowFields(.RowFields.Count).Name Не всегда возвращает имя самого нижнего элемента, такое ощущение что сортирует по алфовиту. Мой пример работает корректно всегда, но ХЗ как уйти от цикла. Можно как то выдрать Имя строки по номеру "Position"? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2017, 17:21 |
|
VBA скрипт
|
|||
---|---|---|---|
#18+
IDVTНеее, все отлично объяснили. Дело в том, что, порядок кривой, к примеру индекс максимальной позиции (он же «.RowFields.Count») не соответствует индексу «.RowFields(i).Position», т.е.: MsgBox .RowFields(.RowFields.Count).Name Не всегда возвращает имя самого нижнего элемента, такое ощущение что сортирует по алфовиту. Мой пример работает корректно всегда, но ХЗ как уйти от цикла. Можно как то выдрать Имя строки по номеру "Position"? Значит я невнимательно читал :) Тогда боюсь не смогу помочь. Полагаю, что без цикла ни как. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.07.2017, 20:07 |
|
VBA скрипт
|
|||
---|---|---|---|
#18+
Коллеги, а теперь заоблачный вопрос моего не знания VBA -------------------------------------- При работе с кубом, мне необходимо выполнить сценарий VBA (т.е. макрос) до того момента как Excel отправит запрос к SSAS, это возможно? т.е. мне необходимо установить определенное значение атрибута (фильтр) для корректного расчета меры. Все это делаю по простой причине - в Табулярке нет функции Axis(Axis_Number), приходится выкручиваться.... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2017, 12:20 |
|
|
start [/forum/topic.php?fid=60&fpage=15&tid=2155238]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 305ms |
total: | 417ms |
0 / 0 |