NamedRange.Sort 方法

NamedRange 控件中的数据进行排序。

命名空间:  Microsoft.Office.Tools.Excel
程序集:  Microsoft.Office.Tools.Excel(在 Microsoft.Office.Tools.Excel.dll 中)

语法

声明
Function Sort ( _
    Key1 As Object, _
    Order1 As XlSortOrder, _
    Key2 As Object, _
    Type As Object, _
    Order2 As XlSortOrder, _
    Key3 As Object, _
    Order3 As XlSortOrder, _
    Header As XlYesNoGuess, _
    OrderCustom As Object, _
    MatchCase As Object, _
    Orientation As XlSortOrientation, _
    SortMethod As XlSortMethod, _
    DataOption1 As XlSortDataOption, _
    DataOption2 As XlSortDataOption, _
    DataOption3 As XlSortDataOption _
) As Object
Object Sort(
    Object Key1,
    XlSortOrder Order1,
    Object Key2,
    Object Type,
    XlSortOrder Order2,
    Object Key3,
    XlSortOrder Order3,
    XlYesNoGuess Header,
    Object OrderCustom,
    Object MatchCase,
    XlSortOrientation Orientation,
    XlSortMethod SortMethod,
    XlSortDataOption DataOption1,
    XlSortDataOption DataOption2,
    XlSortDataOption DataOption3
)

参数

  • Type
    类型:System.Object
    指定要进行排序的元素。只有当对数据透视表进行排序时,才使用此参数。
    可以是下列 XlSortType 值之一:
    xlSortLabels .按标签对数据透视表进行排序。
    xlSortValues .按值对数据透视表进行排序。
  • Key3
    类型:System.Object
    第三个排序字段,要么是文本(范围名称),要么是一个 Microsoft.Office.Interop.Excel.Range 对象。如果您省略此参数,则没有第三个排序字段。不可用于数据透视表的排序。
  • Header
    类型:Microsoft.Office.Interop.Excel.XlYesNoGuess
    指定第一行中是否包含标题。不可用于数据透视表的排序。
    可以是下列 XlYesNoGuess 值之一:
    xlGuess .让 Microsoft Office Excel 确定是否有标题,如果有的话,确定它的位置。
    xlNo .(应当对整个范围进行排序。)
    xlYes .(不应当对整个范围进行排序。)
  • OrderCustom
    类型:System.Object
    此参数是一个在自定义排序顺序列表中的从 1 开始的整数偏移量。如果省略 OrderCustom,则使用正常排序。
  • MatchCase
    类型:System.Object
    如果执行区分大小写的排序,则为 true;如果执行不区分大小写的排序,则为 false。不可用于数据透视表的排序。

返回值

类型:System.Object

备注

每当使用此方法时,都会保存特定工作表的 Header、Order1、Order2、Order3、OrderCustom 和 Orientation 的设置。如果在下次调用此方法时不指定这些参数的值,将使用保存的值。如果您选择不使用保存值,请在每次使用此方法时显式设置这些参数。

对于不能转换为数值数据的文本字符串,按通常的方式进行排序。

如果未用此方法定义参数,Microsoft Office Excel 将按升序对所选内容进行排序。

可选参数

有关可选参数的信息,请参见Office 解决方案中的可选参数

示例

下面的代码示例在单元格 A1 至 A5 中放置一组整数,然后使用 Sort 方法按升序对数据进行排序。

此示例针对的是文档级自定义项。

    Private Sub SortNamedRange()
        ' Set some data in a range of cells.
        Me.Range("A1").Value2 = 30
        Me.Range("A2").Value2 = 10
        Me.Range("A3").Value2 = 20
        Me.Range("A4").Value2 = 50
        Me.Range("A5").Value2 = 40

        ' Create a NamedRange that refers to the range.
        Dim namedRange1 As Microsoft.Office.Tools.Excel.NamedRange _
            = Me.Controls.AddNamedRange(Me.Range("A1", "A5"), _
            "namedRange1")

        ' Sort the NamedRange.
        namedRange1.Sort(Me.Range("A1", "A5"), _
            Excel.XlSortOrder.xlAscending, , , _
            Excel.XlSortOrder.xlAscending, , _
            Excel.XlSortOrder.xlAscending, Excel.XlYesNoGuess.xlNo, , , _
            Excel.XlSortOrientation.xlSortColumns, _
            Excel.XlSortMethod.xlStroke, _
            Excel.XlSortDataOption.xlSortNormal, _
            Excel.XlSortDataOption.xlSortNormal, _
            Excel.XlSortDataOption.xlSortNormal)
    End Sub

private void SortNamedRange()
{
    // Set some data in a range of cells.
    this.Range["A1"].Value2 = 30;
    this.Range["A2"].Value2 = 10;
    this.Range["A3"].Value2 = 20;
    this.Range["A4"].Value2 = 50;
    this.Range["A5"].Value2 = 40;

    // Create a NamedRange that refers to the range.
    Microsoft.Office.Tools.Excel.NamedRange namedRange1 =
        this.Controls.AddNamedRange(this.Range["A1", "A5"],
        "namedRange1");

    // Sort the NamedRange.
    namedRange1.Sort(this.Range["A1", "A5"],
        Excel.XlSortOrder.xlAscending,
        missing,
        missing,
        Excel.XlSortOrder.xlAscending,
        missing,
        Excel.XlSortOrder.xlAscending,
        Excel.XlYesNoGuess.xlNo,
        missing,
        missing,
        Excel.XlSortOrientation.xlSortColumns,
        Excel.XlSortMethod.xlStroke,
        Excel.XlSortDataOption.xlSortNormal,
        Excel.XlSortDataOption.xlSortNormal,
        Excel.XlSortDataOption.xlSortNormal);
}

.NET Framework 安全性

请参见

参考

NamedRange 接口

Microsoft.Office.Tools.Excel 命名空间