Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Определение номеров строк и колонок нужных ячеек из сводной таблицы / 4 сообщений из 4, страница 1 из 1
16.12.2016, 15:45
    #39368754
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определение номеров строк и колонок нужных ячеек из сводной таблицы
Здравствуйте!

Есть сформированная сводная таблица. Из этой сводной таблицы надо выдергивать разные данные с разных ячеек.

Для этого я написал код, который определяет координаты ячеек для разных случаев. Хотелось, чтобы оценили код, не слишком ли сложно написал, не упустил ли что то, как можно было бы по другому написать, а также в некоторых случаях затруднился написать код. В коде указал эти моменты.
...
Рейтинг: 0 / 0
16.12.2016, 21:09
    #39369009
VSVLAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определение номеров строк и колонок нужных ячеек из сводной таблицы
ferzmikk,

А можно и проще

Формулой
Код: powershell
1.
'=ПОЛУЧИТЬ.ДАННЫЕ.СВОДНОЙ.ТАБЛИЦЫ("Мера4 ";$B$6;"Клиент";"Клиент101")


Кодом
Код: vbnet
1.
MsgBox PT.GetPivotData("Мера4", "Клиент", "Клиент101").Value 'Выбрать поле "Мера4" у Клиент -> Клиент101
...
Рейтинг: 0 / 0
16.12.2016, 21:27
    #39369015
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определение номеров строк и колонок нужных ячеек из сводной таблицы
VSVLADferzmikk,

А можно и проще
Кодом
Код: vbnet
1.
MsgBox PT.GetPivotData("Мера4", "Клиент", "Клиент101").Value 'Выбрать поле "Мера4" у Клиент -> Клиент101


Как вариант решения.

Но здесь важно вытащить не только значения, а координаты. Потому что потом будут строится несколько диаграмм и с помощью координат в диаграммах в выборе данных будут вытаскиваться нужные данные.
...
Рейтинг: 0 / 0
21.12.2016, 12:40
    #39371809
ferzmikk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Определение номеров строк и колонок нужных ячеек из сводной таблицы
Вот к примеру. Следующая строка не работает
Код: vbnet
1.
СтрокаМера4 = PT.RowRange("Мера4 ").Row


приходиться делать обход, сначала определить индекс для Меры4
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
...
'Определить, в какой строке и колонке находится поле Мера4.

'Вариант через RowRange
Dim СтрокаМера4 As Long, КолонкаМера4 As Long
Dim ИндексСтрокиPT As Long
Dim i As Long
For i = 1 To PT.RowRange.Count
    If PT.RowRange(i).Text = "Мера4 " Then
    ИндексСтрокиPT = i
    Exit For
    End If
Next i
СтрокаМера4 = PT.RowRange(i).Row '11. Верно
КолонкаМера4 = PT.RowRange(i).Column '2.Верно

'Или такой вариант через TableRange2
Dim СтрокаМера4_ As Long, КолонкаМера4_ As Long
Dim ИндексСтрокиPT_ As Long
Dim i_ As Long
For i_ = 1 To PT.TableRange2.Count
    If PT.RowRange(i).Text = "Мера4 " Then
    ИндексСтрокиPT_ = i_
    Exit For
    End If
Next i_
СтрокаМера4_ = PT.RowRange(i).Row '11. Верно
КолонкаМера4_ = PT.RowRange(i).Column '2.Верно
...

Представлены два варианта. Возможно ли в каждом варианте что то не учитывается?

Возможно ли было проще написать?
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Определение номеров строк и колонок нужных ячеек из сводной таблицы / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]