NamedRange.Sort 方法 (2007 system)

更新:2007 年 11 月

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

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

语法

声明
Public 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
用法
Dim instance As NamedRange
Dim Key1 As Object
Dim Order1 As XlSortOrder
Dim Key2 As Object
Dim Type As Object
Dim Order2 As XlSortOrder
Dim Key3 As Object
Dim Order3 As XlSortOrder
Dim Header As XlYesNoGuess
Dim OrderCustom As Object
Dim MatchCase As Object
Dim Orientation As XlSortOrientation
Dim SortMethod As XlSortMethod
Dim DataOption1 As XlSortDataOption
Dim DataOption2 As XlSortDataOption
Dim DataOption3 As XlSortDataOption
Dim returnValue As Object

returnValue = instance.Sort(Key1, Order1, _
    Key2, Type, Order2, Key3, Order3, Header, _
    OrderCustom, MatchCase, Orientation, _
    SortMethod, DataOption1, DataOption2, _
    DataOption3)
public 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 值之一:

  • 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。不可用于数据透视表报表的排序。

  • SortMethod
    类型:Microsoft.Office.Interop.Excel.XlSortMethod

    排序的类型。您可能无法使用其中的某些常数,具体取决于您选择或安装的语言支持(例如,美国英语)。

    可以是下列 XlSortMethod 值之一:

    • xlStroke 。按每个字符中的笔画数进行排序。

    • xlPinYin 。字符的中文拼音排序顺序。

返回值

类型: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", missing].Value2 = 30;
    this.Range["A2", missing].Value2 = 10;
    this.Range["A3", missing].Value2 = 20;
    this.Range["A4", missing].Value2 = 50;
    this.Range["A5", missing].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);
}

权限

另请参见

参考

NamedRange 类

NamedRange 成员

Microsoft.Office.Tools.Excel 命名空间