Форум: "Начинающим";
Текущий архив: 2011.09.18;
Скачать: [xml.tar.bz2];
ВнизПокрасить итоги в pivot Excel Найти похожие ветки
← →
OW © (2011-05-31 09:57) [0]пишу
Workbook.PivotCaches.Add( xlDatabase, "Данные!R1C1:R" + IntToStr(i) + "C" + IntToStr(j-1)).CreatePivotTable("", "СводнаяТаблицаА",true);
ActiveSheets := WorkBook.WorkSheets[1];
ActiveSheets.Name := "Сводный отчет";
ActiveSheets.PivotTables("СводнаяТаблицаА").PivotFields("DT").Orientation := xlRowField;
...
ActiveSheets.PivotTables("СводнаяТаблицаА").PivotFields("SUMM").Orientation := xlDataField;
все хорошо, начинаю красоту наводить
ActiveSheets.PivotTables("СводнаяТаблицаА").DataPivotField.PivotItems("Сумма по полю SUMM").Name := "сумма";
ок
теперь хочу покрасить
макрос говорит
ActiveSheet.PivotTables("СводнаяТаблицаА").PivotSelect _
"сумма "Column Grand Total"", xlDataAndLabel, True
With Selection.Interior
.ColorIndex = 41
.Pattern = xlSolid
End With
не понимаю что писать надо. Не подскажете?
Method "Interior" not supported by automation object
EOleError
← →
OW © (2011-05-31 09:58) [1]т.е. так попробовал
ActiveSheets.PivotTables("СводнаяТаблицаА").DataPivotField.PivotItems("сумма").I nterior.ColorIndex := 36;
Method "Interior" not supported by automation object
EOleError
← →
sniknik © (2011-05-31 10:11) [2]> не понимаю что писать надо.
а что говорит макрос? т.е.практически стандартная операция в случае работы с екселем...
← →
OW © (2011-05-31 10:14) [3]
> макрос говорит
> ActiveSheet.PivotTables("СводнаяТаблицаА").PivotSelect
> _
> "сумма "Column Grand Total"", xlDataAndLabel, True
> With Selection.Interior
> .ColorIndex = 41
> .Pattern = xlSolid
> End With
← →
sniknik © (2011-05-31 10:22) [4]т.е. он говорит
> ActiveSheet.PivotTables("СводнаяТаблицаА").PivotSelect "сумма "Column Grand Total""
а ты делаешь
> ActiveSheets.PivotTables("СводнаяТаблицаА").DataPivotField.PivotItems("сумма").I nterior.ColorIndex := 36;
?
ты в макросе смену имени делал до этого?
← →
Dennis I. Komarov © (2011-05-31 10:22) [5]Может Method "Interior" есть только у "Selection"...
Хотя не нравится мне "not supported by automation object"
← →
OW © (2011-05-31 11:21) [6]Угу..
Переписал.
Вот так работает
ActiveSheets.PivotTables("СводнаяТаблицаА").DataPivotField.PivotItems("Сумма по полю SUMM").Name := "сумма";
Selection := ActiveSheets.PivotTables("СводнаяТаблицаА").PivotSelect("DEPT[All;Total] сумма", xlDataAndLabel, True);
ExcelApp.Visible := True;
Excel показывается, то что мне надо, выделено.
остается только нажать на кнопке с цветом
Макрос говорит, что он при этом делает
With Selection.Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
а если я пишу
Selection := ActiveSheets.PivotTables("СводнаяТаблицаА").PivotSelect("DEPT[All;Total] сумма", xlDataAndLabel, True);
Selection.Interior.ColorIndex := 6;
получаю
Invalid variant operation
EVariantInvalidOpError
← →
Плохиш © (2011-05-31 11:44) [7]TOLeEnum(6)
← →
OW © (2011-05-31 12:03) [8]// Selection.Interior.ColorIndex := OleCtrls.TOleEnum(6);
// LW := 6; //LW: LongWord;
// Selection.Interior.ColorIndex := LW;
// Selection.Interior.ColorIndex := LongWord(6);
тоже самое
Invalid variant operation
EVariantInvalidOpError
← →
OW © (2011-05-31 17:09) [9]а, и так пойдет :)
не чего голову ломать, не критично.
← →
Dennis I. Komarov © (2011-05-31 17:43) [10]
> OW © (31.05.11 17:09) [9]
Я тебе еще утром предлагал :-)
← →
OW © (2011-06-01 15:34) [11]
> ActiveSheets.PivotTables("СводнаяТаблицаА").DataPivotField.
> PivotItems("Сумма по полю SUMM").Name := "сумма";
а вот так не желает работать в 2007 Ёкселе. Может кому пригодится.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2011.09.18;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.003 c