NamedRange.Group(Object, Object, Object, Object) Método

Definición

Cuando el control NamedRange representa una sola celda en el rango de datos de un campo de tabla dinámica, el método Group(Object, Object, Object, Object) realiza una agrupación numérica o de fechas en ese campo.

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

Parámetros

Start
Object

Primer valor que se va a agrupar. Si este argumento se omite o es true, se utiliza el primer valor del campo.

End
Object

Último valor que se va a agrupar. Si este argumento se omite o es true, se utiliza el último valor del campo.

By
Object

Si el campo es numérico, este argumento especifica el tamaño de cada grupo. Si el campo es una fecha, este argumento especifica el número de días de cada grupo si el elemento 4 de la Periods matriz es true y todos los demás elementos son false. De lo contrario, se omite. En cuyo caso, Microsoft Office Excel elige automáticamente un tamaño de grupo predeterminado.

Periods
Object

Matriz de siete valores booleanos que especifican el período del grupo, como se muestra:1 - Seconds2 - Minutes3 - Hours4 - Days5 - Months6 - Quarters7 - YearsSi un elemento de la matriz es true, se crea un grupo para la hora correspondiente; si el elemento es false, no se crea ningún grupo. Si el campo no es un campo de fecha, se omite este argumento.

Devoluciones

Ejemplos

En el ejemplo de código siguiente se crea un informe de tabla dinámica y un NamedRange dentro del área del informe de tabla dinámica. A continuación, usa las PivotTablepropiedades , LocationInTable, PivotCell, PivotItemy PivotField para mostrar información sobre la ubicación del objeto en el informe de NamedRange tabla dinámica. En el ejemplo también se usa el Group método para realizar la agrupación numérica en función del primer valor del campo.

Este ejemplo es para una personalización de nivel de documento.

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

Comentarios

El NamedRange control debe ser una sola celda en el intervalo de datos del campo de tabla dinámica. Si intenta aplicar este método a más de una celda, se produce un error (sin mostrar un mensaje de error).

Parámetros opcionales

Para obtener información sobre los parámetros opcionales, vea Parámetros opcionales en soluciones de Office.

Se aplica a