如何:将工作表中的行分组

可以对一个或多个整行进行分组。 若要在工作表中创建组,请使用 NamedRange 控件或本机 Excel 区域对象。

**适用于:**本主题中的信息适用于 Excel 2007 和 Excel 2010 的文档级项目和应用程序级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能

使用 NamedRange 控件

如果在设计时向文档级项目中添加一个 NamedRange 控件,则可以使用该控件以编程方式创建组。 下面的示例假定同一工作表中有三个 NamedRange 控件:data2001、data2002 和 dataAll。 每个命名区域都引用工作表中的一个整行。

在工作表上创建一组 NamedRange 控件

  • 通过调用每个范围的 Group 方法将三个命名范围分组。 此代码必须放置在一个表类中,而不是放在 ThisWorkbook 类中。

    With Me
        .data2001.Group()
        .data2002.Group()
        .dataAll.Group()
    End With
    
    this.data2001.Group(missing, missing, missing, missing);
    this.data2002.Group(missing, missing, missing, missing);
    this.dataAll.Group(missing, missing, missing, missing);
    

    提示

    若要取消对行进行分组,请调用 Ungroup 方法。

使用本机 Excel 范围

此代码假定工作表上有三个 Excel 范围,这三个范围的名称分别为 data2001、data2002 和 dataAll。

在工作表内创建一组 Excel 范围

  • 通过调用每个范围的 Group 方法将三个命名范围分组。 下面的示例假定同一工作表中有三个 Microsoft.Office.Interop.Excel.Range 控件,这三个控件的名称分别为 data2001、data2002 和 dataAll。 每个命名区域都引用工作表中的一个整行。

    With Me.Application
        .Range("data2001").Group()
        .Range("data2002").Group()
        .Range("dataAll").Group()
    End With
    
    this.Application.get_Range("data2001", missing)
        .Group(missing, missing, missing, missing);
    
    this.Application.get_Range("data2002", missing)
        .Group(missing, missing, missing, missing);
    
    this.Application.get_Range("dataAll", missing)
        .Group(missing, missing, missing, missing);
    

    提示

    若要取消对行进行分组,请调用 Ungroup 方法。

请参见

任务

如何:向工作表添加 NamedRange 控件

概念

使用工作表

NamedRange 控件

Office 解决方案中的可选参数