3

同じ Excel シートに複数のピボット テーブルを並べてダッシュボードを作成する必要があります。

問題は、ピボット テーブルが更新されると、それが長くなる (より多くの行) 可能性があるため、必要な行より下の行が上書きされるという警告が表示されることです。

以下を上書きせずにピボットテーブルに行を追加するためのExcelピボットテーブルの設定方法を知りたいです。

Microsoft Techdays 2013 で例を見たことがありますが、方法を思い出せません。(Excel 2013では有効にするチェックボックスがあります)

ありがとうございました。

4

3 に答える 3

0

私は最近この問題に遭遇し、以下を構築しました。もちろん、機能させるには、原則として 2 つのテーブルが 1 つのシートに収まるという前提条件を満たす必要があります。私が行うことは、2 つのテーブル間に十分なスペース (= 行) を構築し、更新後にテーブル間に残っている行を非表示にすることです。したがって、VBA が必要であり、たとえば PivotTable_Update イベントで実行できます。

Private Sub hideRowsBetweenListObjects(sheetName As String)
Dim tblRowPosition1 As Integer
Dim tblNrOfRows1 As Integer
Dim tblRowPosition2 As Integer
Dim tblNrOfRows2 As Integer

'Initialize
Application.ScreenUpdating = False

With Worksheets(sheetName).ListObjects(1)
    tblRowPosition1 = .Range.Row
    tblNrOfRows1 = .Range.Rows.Count
End With

With Worksheets(sheetName).ListObjects(2)
    tblRowPosition2 = .Range.Row
    tblNrOfRows2 = .Range.Rows.Count
End With

With Worksheets(sheetName)
    If tblRowPosition1 < tblRowPosition2 Then
        .Range(.Cells(tblRowPosition1 + tblNrOfRows1, 1), .Cells(tblRowPosition2 - 4, 1)).EntireRow.Hidden = True
    ElseIf tblRowPosition2 < tblRowPosition1 Then
        .Range(.Cells(tblRowPosition2 + tblNrOfRows2, 1), .Cells(tblRowPosition1 - 4, 1)).EntireRow.Hidden = True
    End If
End With

サブ終了

于 2014-06-25T14:55:33.573 に答える