NamedRange.Group(Object, Object, Object, Object) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当 NamedRange 控件表示数据透视表字段的数据范围中的单个单元格时,Group(Object, Object, Object, Object) 方法在该字段中执行基于数值或日期的分组。
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
参数
- Start
- Object
要进行分组的第一个值。 如果省略此参数或者它为 true
,则使用该字段中的第一个值。
- End
- Object
要进行分组的最后一个值。 如果省略此参数或者它为 true
,则使用该字段中的最后一个值。
- By
- Object
如果该字段为数值字段,则此参数指定每组的大小。 如果字段是日期,则此参数指定数组中的元素 4 Periods
为 true
且所有其他元素为 false
时每个组中的天数。 否则,将忽略此参数。 如果省略此参数,则 Microsoft Office Excel 会自动选择一个默认的组大小。
- Periods
- Object
一个由七个布尔值组成(指定组的时间段)的数组,如下所示:1 - Seconds2 - Minutes3 - Hours4 - Days5 - Month6 - Quarters7 - Years 如果数组中的元素为 true
,则会为相应的时间创建组;如果元素为 false
,则不创建组。 如果字段不是日期字段,则省略此参数。
返回
示例
下面的代码示例在数据透视表的区域内创建一个数据透视表和 一个 NamedRange 。 然后, PivotTable它使用 、 LocationInTable、 PivotCell、 PivotItem和 PivotField 属性来显示有关 数据透视表中的位置 NamedRange 的信息。 该示例还使用 Group 方法根据 字段中的第一个值执行数值分组。
此示例适用于文档级自定义项。
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
注解
控件 NamedRange 必须是数据透视表字段的数据区域中的单个单元格。 如果尝试将此方法应用于多个单元格,则无法 (而不) 显示错误消息。
可选参数
有关可选参数的信息,请参阅 Office 解决方案中的可选参数。