VBA, когда я добавляю строку в таблицу, то изменяю размер таблицы, не подбирая новое значение в сводной таблице - PullRequest
0 голосов
/ 10 января 2019

У меня есть стол. Я поместил некоторые данные в строку под таблицей с помощью vba (см. Подформулы).

Затем измените размер таблицы, чтобы включить вновь добавленные данные (см. ResizeListDyn)

Недавно добавленные данные теперь включены в старую таблицу.

Но моя сводная таблица не отражает полностью новую таблицу при обновлении. У меня есть сводная таблица с источником данных, нацеленным на эту таблицу.

enter image description here enter image description here

Sub Formulas()

LastRow = WorksheetFunction.Max(Sheets("working").Cells(Rows.Count, "x").End(xlUp).Row)

With Worksheets("working")

    .Range("x" & LastRow + 1).Formula = "=X" & LastRow & "+7"
    .Range("y" & LastRow + 1).Formula = "=VLOOKUP(X" & LastRow + 1 & ",irworstcase!A:F,6,FALSE)"
    .Range("z" & LastRow + 1).Formula = "=VLOOKUP(X" & LastRow + 1 & ",irworstcase!A:E,5,FALSE)"
    .Range("aa" & LastRow + 1).Formula = "=+GETPIVOTDATA(""sum"",A$1,""businessDate"",$X" & LastRow + 1 & ",""substr"",AA$1,""ScenarioName"",$Y53)"
    .Range("ab" & LastRow + 1).Formula = "=+GETPIVOTDATA(""sum"",B$1,""businessDate"",$X" & LastRow + 1 & ",""substr"",AB$1,""ScenarioName"",$Y53)"
    .Range("ac" & LastRow + 1).Formula = "=+GETPIVOTDATA(""sum"",C$1,""businessDate"",$X" & LastRow + 1 & ",""substr"",AC$1,""ScenarioName"",$Y53)"
    .Range("ad" & LastRow + 1).Formula = "=+GETPIVOTDATA(""sum"",D$1,""businessDate"",$X" & LastRow + 1 & ",""substr"",AD$1,""ScenarioName"",$Y53)"
    .Range("ae" & LastRow + 1).Formula = "=+GETPIVOTDATA(""sum"",E$1,""businessDate"",$X" & LastRow + 1 & ",""substr"",AE$1,""ScenarioName"",$Y53)"
    .Range("af" & LastRow + 1).Formula = "=+GETPIVOTDATA(""sum"",F$1,""businessDate"",$X" & LastRow + 1 & ",""substr"",AF$1,""ScenarioName"",$Y53)"
    .Range("ag" & LastRow + 1).Formula = "=+GETPIVOTDATA(""sum"",G$1,""businessDate"",$X" & LastRow + 1 & ",""substr"",AG$1,""ScenarioName"",$Y53)"
    .Range("ah" & LastRow + 1).Formula = "=VLOOKUP(X" & LastRow + 1 & ",'pv01'!A:C,3,FALSE)"

    Call ResizeListDyn

End With

End Sub
Sub ResizeListDyn()

    Worksheets("working").Activate
    Dim tbl As ListObject
    Set tbl = ActiveSheet.ListObjects("Table1")
    tbl.Resize tbl.Range.CurrentRegion

End Sub

Затем, когда я обновляю свою сводку, она не включает полную новую таблицу.

Есть идеи, почему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...