NamedRange.Group(Object, Object, Object, Object) Metoda

Definicja

Gdy kontrolka NamedRange reprezentuje pojedynczą komórkę w zakresie danych pola tabeli przestawnej, Group(Object, Object, Object, Object) metoda wykonuje grupowanie liczbowe lub oparte na dacie w tym polu.

public object Group (object Start, object End, object By, object Periods);
abstract member Group : obj * obj * obj * obj -> obj
Public Function Group (Optional Start As Object, Optional End As Object, Optional By As Object, Optional Periods As Object) As Object

Parametry

Start
Object

Pierwsza wartość, która ma zostać pogrupowana. Jeśli ten argument zostanie pominięty lub true, zostanie użyta pierwsza wartość w polu.

End
Object

Ostatnia wartość, która ma zostać pogrupowana. Jeśli ten argument zostanie pominięty lub true, zostanie użyta ostatnia wartość w polu.

By
Object

Jeśli pole jest numeryczne, ten argument określa rozmiar każdej grupy. Jeśli pole jest datą, ten argument określa liczbę dni w każdej grupie, jeśli element 4 w Periods tablicy jest true i wszystkie pozostałe elementy to false. W przeciwnym razie ten argument jest ignorowany. Jeśli ten argument zostanie pominięty, program Microsoft Office Excel automatycznie wybierze domyślny rozmiar grupy.

Periods
Object

Tablica siedmiu wartości logicznych określających okres dla grupy, jak pokazano: 1 — Sekundy2 — Minuty3 — Godziny4 — Dni5 — Miesiące6 — Kwartały — LataJeśli element w tablicy to true, grupa jest tworzona dla odpowiedniego czasu; jeśli element ma falsewartość , żadna grupa nie zostanie utworzona. Jeśli pole nie jest polem daty, ten argument jest ignorowany.

Zwraca

Przykłady

Poniższy przykład kodu tworzy raport w formie tabeli przestawnej i wewnątrz NamedRange obszaru raportu w formie tabeli przestawnej. Następnie używa PivotTablewłaściwości , , LocationInTablePivotCell, PivotItemi PivotField do wyświetlania informacji o umieszczaniu NamedRange elementu w raporcie w formie tabeli przestawnej. W przykładzie użyto Group również metody do przeprowadzenia grupowania liczbowego na podstawie pierwszej wartości w polu.

Ten przykład dotyczy dostosowywania na poziomie dokumentu.

private void DisplayPivotTableInformation()
{
    // Specify values for the PivotTable.
    this.Range["A1"].Value2 = "Date";
    this.Range["A2"].Value2 = "March 1";
    this.Range["A3"].Value2 = "March 8";
    this.Range["A4"].Value2 = "March 15";

    this.Range["B1"].Value2 = "Customer";
    this.Range["B2"].Value2 = "Smith";
    this.Range["B3"].Value2 = "Jones";
    this.Range["B4"].Value2 = "James";

    this.Range["C1"].Value2 = "Sales";
    this.Range["C2"].Value2 = "23";
    this.Range["C3"].Value2 = "17";
    this.Range["C4"].Value2 = "39";

    // Create and populate the PivotTable.
    Excel.PivotTable table1 = this.PivotTableWizard(
        Excel.XlPivotTableSourceType.xlDatabase,
        this.Range["A1", "C4"],
        this.Range["A10"], "Sales Table", false,
        false, true, false, false, false,
        Excel.XlOrder.xlDownThenOver);

    Excel.PivotField customerField =
        (Excel.PivotField)table1.PivotFields("Customer");
    customerField.Orientation =
        Excel.XlPivotFieldOrientation.xlRowField;
    customerField.Position = 1;

    Excel.PivotField dateField =
        (Excel.PivotField)table1.PivotFields("Date");
    dateField.Orientation =
        Excel.XlPivotFieldOrientation.xlColumnField;
    dateField.Position = 1;

    table1.AddDataField(table1.PivotFields("Sales"),
        "Sales Summary", Excel.XlConsolidationFunction.xlSum);

    // Create a NamedRange in the PivotTable and display the 
    // location.
    Microsoft.Office.Tools.Excel.NamedRange namedRange1 =
        this.Controls.AddNamedRange(
        this.Range["B11"], "namedRange1");
    namedRange1.Select();

    MessageBox.Show("The NamedRange is in the PivotTable report '" +
        namedRange1.PivotTable.Name + "' at the location '" +
        namedRange1.LocationInTable.ToString() + "'.");

    MessageBox.Show("The NamedRange has a PivotCell type of: " +
         namedRange1.PivotCell.PivotCellType.ToString());

    MessageBox.Show("The NamedRange is in the PivotTable field: " +
         namedRange1.PivotField.Name);

    MessageBox.Show("The NamedRange is in the PivotTable item: " +
        namedRange1.PivotItem.Name);

    namedRange1.Group(true);
}
Private Sub DisplayPivotTableInformation()
    ' Specify values for the PivotTable.
    Me.Range("A1").Value2 = "Date"
    Me.Range("A2").Value2 = "March 1"
    Me.Range("A3").Value2 = "March 8"
    Me.Range("A4").Value2 = "March 15"

    Me.Range("B1").Value2 = "Customer"
    Me.Range("B2").Value2 = "Smith"
    Me.Range("B3").Value2 = "Jones"
    Me.Range("B4").Value2 = "James"

    Me.Range("C1").Value2 = "Sales"
    Me.Range("C2").Value2 = "23"
    Me.Range("C3").Value2 = "17"
    Me.Range("C4").Value2 = "39"

    ' Create and populate the PivotTable.
    Dim table1 As Excel.PivotTable = _
        Me.PivotTableWizard( _
        Excel.XlPivotTableSourceType.xlDatabase, _
        Me.Range("A1", "C4"), Me.Range("A10"), "Sales Table", _
        False, False, True, False, , , False, False, _
        Excel.XlOrder.xlDownThenOver, , , )

    Dim customerField As Excel.PivotField = _
        CType(table1.PivotFields("Customer"), Excel.PivotField)
    customerField.Orientation = _
        Excel.XlPivotFieldOrientation.xlRowField
    customerField.Position = 1

    Dim dateField As Excel.PivotField = _
        CType(table1.PivotFields("Date"), Excel.PivotField)
    dateField.Orientation = _
        Excel.XlPivotFieldOrientation.xlColumnField
    dateField.Position = 1

    table1.AddDataField(table1.PivotFields("Sales"), _
        "Sales Summary", Excel.XlConsolidationFunction.xlSum)

    ' Create a NamedRange in the PivotTable and display the 
    ' location.
    Dim namedRange1 As Microsoft.Office.Tools.Excel.NamedRange _
        = Me.Controls.AddNamedRange(Me.Range("B11"), _
        "namedRange1")
    namedRange1.Select()

    MessageBox.Show("The NamedRange is in the PivotTable report '" & _
        namedRange1.PivotTable.Name & "' at the location '" & _
        namedRange1.LocationInTable.ToString() & "'.")

    MessageBox.Show("The NamedRange has a PivotCell type of: " & _
        namedRange1.PivotCell.PivotCellType.ToString())

    MessageBox.Show("The NamedRange is in the PivotTable field: " & _
        namedRange1.PivotField.Name)

    MessageBox.Show("The NamedRange is in the PivotTable item: " & _
        namedRange1.PivotItem.Name)

    namedRange1.Group(True, , , )
End Sub

Uwagi

Kontrolka NamedRange musi być pojedynczą komórką w zakresie danych pola tabeli przestawnej. Jeśli spróbujesz zastosować tę metodę do więcej niż jednej komórki, zakończy się niepowodzeniem (bez wyświetlania komunikatu o błędzie).

Parametry opcjonalne

Aby uzyskać informacje na temat parametrów opcjonalnych, zobacz Parametry opcjonalne w rozwiązaniach pakietu Office.

Dotyczy