如何在动态数据透视表下方的单元格中上色?

时间:2018-08-17 17:25:37

标签: vba excel-vba

我是VBA的新手,我有一个数据透视表,该数据透视表通过过滤将改变大小(行而不是列),并且我想在最后一行下面的单元格中为某种颜色着色。我有以下代码,但是执行代码的第四行时出现错误“对象不支持此属性或函数”。根据我的理解,我将变量rlastcell声明为一个范围,因此cell函数应该对该变量起作用。

Dim pvt As PivotTable
For Each pvt In Worksheets("Summary").PivotTables
      Dim rlastcell As Range
      rlastcell = pvt.Cells(pvt.Rows.Count, pvt.Columns.Count)
      rlastcell.Offset(1, 0).Interior.ColorIndex = RGB(0, 31, 96)
      rlastcell.Offset(1, -1).Interior.ColorIndex = RGB(0, 31, 96)
      Next pvt

1 个答案:

答案 0 :(得分:1)

摆脱任何现有的填充后,您可以执行以下操作,其中这些行通过偏移和调整原始表范围的大小来动态设置数据透视表下方的行。

With pvt.TableRange1
    .Offset(.Rows.Count, 0).Resize(1, .Columns.Count)

代码:

Option Explicit
Public Sub test()
    Dim pvt As PivotTable
    For Each pvt In Worksheets("Summary").PivotTables
        With pvt.TableRange1
            .Offset(.Rows.Count, 0).Resize(1, .Columns.Count).Interior.Color = vbRed  ' = RGB(0, 31, 96)
        End With
    Next
End Sub

根据需要更改颜色。