Какие команды следует вводить, чтобы не нужно было физически изменять номер листа при запуске макроса сводной таблицы - PullRequest
0 голосов
/ 19 марта 2019

Какие команды следует вводить, чтобы не нужно было физически изменять номер листа при запуске макроса сводной таблицы и имени листа?

Dim pivotsheetname As String
Dim datasheetname As String
datasheetname = ActiveSheet.Name

    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "Orders!R1C1:R51291C24", Version:=6).CreatePivotTable TableDestination:="", TableName:="PivotTable1", DefaultVersion:=6

    Sheets("pivotsheetname").Select
    Sheets("pivotsheetname").Name = datasheetname & "Pivot"

    With ActiveSheet.PivotTables("PivotTable1").PivotFields("Country")
        .Orientation = xlRowField
        .Position = 1
    End With

    ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
        "PivotTable1").PivotFields("Sales"), "Sum of Sales", xlSum
    ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
        "PivotTable1").PivotFields("Profit"), "Sum of Profit", xlSum
    Range("C8").Select

    Range("C18").Select
    ActiveSheet.PivotTables("PivotTable1").CalculatedFields.Add "Cost incurred", _
        "=SUM(Sales )-SUM(Profit )", True
    ActiveSheet.PivotTables("PivotTable1").PivotFields("Cost incurred"). _
        Orientation = xlDataField
    Range("B4:C5").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.NumberFormat = "$#,##0.00"
    Range("D6").Select
    ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables( _
        "PivotTable1").PivotFields("Shipping Cost"), "Sum of Shipping Cost", xlSum
    Range("E8").Select
    ActiveSheet.PivotTables("PivotTable1").CalculatedFields.Add _
        "% of shipping cost", "=SUM('Shipping Cost' )/SUM('Cost incurred' )", True
    ActiveSheet.PivotTables("PivotTable1").PivotFields("% of shipping cost"). _
        Orientation = xlDataField
    Range("F2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Style = "Percent"
    Range("D7").Select
    With ActiveSheet.PivotTables("PivotTable1")
        .InGridDropZones = True
        .RowAxisLayout xlTabularRow
    End With
    Range("E9").Select
    Application.GenerateGetPivotData = True
    Application.GenerateGetPivotData = False
    Range("D5").Select


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