Método NamedRange.Group

Quando o NamedRange controle representa uma única célula no intervalo de dados de um campo tabela dinâmica, o Group método realiza um agrupamento numérico ou baseado em data nesse campo.

Namespace:  Microsoft.Office.Tools.Excel
Assembly:  Microsoft.Office.Tools.Excel (em Microsoft.Office.Tools.Excel.dll)

Sintaxe

'Declaração
Function Group ( _
    Start As Object, _
    End As Object, _
    By As Object, _
    Periods As Object _
) As Object
Object Group(
    Object Start,
    Object End,
    Object By,
    Object Periods
)

Parâmetros

  • Start
    Tipo: System.Object
    O primeiro valor a ser agrupada.Se esse argumento for omitido ou true, o primeiro valor no campo é usado.
  • End
    Tipo: System.Object
    O último valor a ser agrupada.Se esse argumento for omitido ou true, o último valor no campo é usado.
  • By
    Tipo: System.Object
    Se o campo for numérico, esse argumento especifica o tamanho de cada grupo.Se o campo for uma data, este argumento especifica o número de dias em cada grupo se elemento 4 da Periods matriz é true e todos os elementos são false.Caso contrário, este argumento é ignorado.Se esse argumento for omitido, o Excel de Microsoft Office escolhe automaticamente um tamanho de grupo padrão.
  • Periods
    Tipo: System.Object
    Uma matriz de sete valores Boolean especificando o período para o grupo, conforme mostrado:
    1 - Segundos
    2 - Minutos
    3 - Horas
    4 - Dias
    5 - Meses
    6 - Trimestres
    7 - Anos
    Se um elemento na matriz é true, um grupo é criado para a hora correspondente; Se o elemento for false, nenhum grupo será criado.Se o campo não é um campo de data, este argumento é ignorado.

Valor de retorno

Tipo: System.Object

Comentários

O NamedRange controle deve ser uma única célula no intervalo de dados de. campo da tabela dinâmica Se você tentar aplicar este método para mais de uma célula, ele falha (sem exibir uma mensagem de erro).

Optional Parameters

Para obter informações sobre os parâmetros opcionais, consulte Parâmetros opcionais em soluções do Office.

Exemplos

O exemplo de código a seguir cria um relatório de tabela dinâmica e um NamedRange dentro da área do relatório de tabela dinâmica. Depois ele usa o PivotTable, LocationInTable, PivotCell, PivotItem, e PivotField Propriedades para exibir informações sobre o posicionamento da NamedRange dentro do relatório de tabela dinâmica. O exemplo também usa o Group método para executar o agrupamento numérico, com base no primeiro o valor no campo.

Este exemplo é para uma personalização em nível de documento.

    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

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

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

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

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

    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", missing], "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, missing, missing, missing);
}

Segurança do .NET Framework

Consulte também

Referência

NamedRange Interface

Namespace Microsoft.Office.Tools.Excel