Freigeben über


Gewusst wie: Programmgesteuertes Sortieren von Daten in Arbeitsblättern

Sie können die Daten in den Bereichen und Listen des Arbeitsblatts zur Laufzeit sortieren.Der folgende Code sortiert einen mehrspaltigen Bereich mit dem Namen Fruits zunächst nach den Daten der ersten Spalte und dann nach den Daten der zweiten Spalte.

Betrifft: Die Informationen in diesem Thema betreffen Projekte auf Dokument- und auf Anwendungsebene für Excel 2013 und Excel 2010. Weitere Informationen finden Sie unter Verfügbare Funktionen nach Office-Anwendung und Projekttyp.

Sortieren von Daten in Anpassungen auf Dokumentebene

So sortieren Sie Daten in einem NamedRange-Steuerelement

  • Rufen Sie die Sort-Methode des NamedRange-Steuerelements auf.Das folgende Beispiel setzt voraus, dass sich ein NamedRange-Steuerelement mit dem Namen Fruits in einem Arbeitsblatt befindet.Dieser Code muss in eine Sheet-Klasse, nicht in die ThisWorkbook-Klasse eingefügt werden.

    Me.Fruits.Sort( _
        Key1:=Me.Fruits.Columns(1), Order1:=Excel.XlSortOrder.xlAscending, _
        Key2:=Me.Fruits.Columns(2), Order2:=Excel.XlSortOrder.xlAscending, _
        Orientation:=Excel.XlSortOrientation.xlSortColumns, _
        Header:=Excel.XlYesNoGuess.xlNo, _
        SortMethod:=Excel.XlSortMethod.xlPinYin, _
        DataOption1:=Excel.XlSortDataOption.xlSortNormal, _
        DataOption2:=Excel.XlSortDataOption.xlSortNormal, _
        DataOption3:=Excel.XlSortDataOption.xlSortNormal)
    
    this.Fruits.Sort(
        this.Fruits.Columns[1, missing], Excel.XlSortOrder.xlAscending,
        this.Fruits.Columns[2, missing], missing, Excel.XlSortOrder.xlAscending,
        missing, Excel.XlSortOrder.xlAscending,
        Excel.XlYesNoGuess.xlNo, missing, missing, 
        Excel.XlSortOrientation.xlSortColumns,
        Excel.XlSortMethod.xlPinYin,
        Excel.XlSortDataOption.xlSortNormal,
        Excel.XlSortDataOption.xlSortNormal,
        Excel.XlSortDataOption.xlSortNormal); 
    

Fügen Sie den folgenden Code in Sheet1.vb oder Sheet1.cs ein, um Daten in einem ListObject-Steuerelement zu sortieren.Im Code wird davon ausgegangen, dass ein Microsoft.Office.Tools.Excel.ListObject-Steuerelement mit dem Namen fruitList in einem Arbeitsblatt mit dem Namen Sheet1 vorhanden ist.

So sortieren Sie Daten in einem ListObject-Steuerelement

  • Rufen Sie die Sort-Methode der Range-Eigenschaft des ListObject-Hoststeuerelements auf.

    Me.fruitList.Range.Sort( _
        Key1:=Me.fruitList.ListColumns(1).Range, Order1:=Excel.XlSortOrder.xlAscending, _
        Key2:=Me.fruitList.ListColumns(2).Range, Order2:=Excel.XlSortOrder.xlAscending, _
        Orientation:=Excel.XlSortOrientation.xlSortColumns, _
        Header:=Excel.XlYesNoGuess.xlYes)
    
    this.fruitList.Range.Sort(
        this.fruitList.ListColumns[1].Range, Excel.XlSortOrder.xlAscending,
        this.fruitList.ListColumns[2].Range, missing, Excel.XlSortOrder.xlAscending,
        missing, Excel.XlSortOrder.xlAscending, 
        Excel.XlYesNoGuess.xlYes, missing, missing, 
        Excel.XlSortOrientation.xlSortColumns,
        Excel.XlSortMethod.xlPinYin, 
        Excel.XlSortDataOption.xlSortNormal,
        Excel.XlSortDataOption.xlSortNormal,
        Excel.XlSortDataOption.xlSortNormal);
    

Sortieren von Daten in einem Add-In auf Anwendungsebene

So sortieren Sie Daten in einem systemeigenen Bereich

  • Rufen Sie die Sort-Methode des systemeigenen Excel-Microsoft.Office.Interop.Excel.Range-Steuerelements auf.Für das folgende Beispiel ist ein systemeigenes Excel-Steuerelement mit dem Namen Fruits auf einem Arbeitsblatt erforderlich.

    Dim Fruits As Excel.Range = Me.Application.Range("A1", "B2")
    Fruits.Sort( _
        Key1:=Fruits.Columns(1), Order1:=Excel.XlSortOrder.xlAscending, _
        Key2:=Fruits.Columns(2), Order2:=Excel.XlSortOrder.xlAscending, _
        Orientation:=Excel.XlSortOrientation.xlSortColumns, _
        Header:=Excel.XlYesNoGuess.xlNo, _
        SortMethod:=Excel.XlSortMethod.xlPinYin, _
        DataOption1:=Excel.XlSortDataOption.xlSortNormal, _
        DataOption2:=Excel.XlSortDataOption.xlSortNormal, _
        DataOption3:=Excel.XlSortDataOption.xlSortNormal)
    
    Excel.Range Fruits = Application.get_Range("A1", "B3");
        Fruits.Sort(
        Fruits.Columns[1], Excel.XlSortOrder.xlAscending,
        Fruits.Columns[2], missing, Excel.XlSortOrder.xlAscending,
        missing, Excel.XlSortOrder.xlAscending,
        Excel.XlYesNoGuess.xlNo, missing, missing,
        Excel.XlSortOrientation.xlSortColumns,
        Excel.XlSortMethod.xlPinYin,
        Excel.XlSortDataOption.xlSortNormal,
        Excel.XlSortDataOption.xlSortNormal,
        Excel.XlSortDataOption.xlSortNormal); 
    

So sortieren Sie Daten in einem ListObject-Steuerelement

  • Rufen Sie die Sort-Method der Range-Eigenschaft des systemeigenen Excel-Microsoft.Office.Interop.Excel.ListObject-Steuerelements auf.Im folgenden Beispiel wird davon ausgegangen, dass sich ein systemeigenes Excel-Microsoft.Office.Interop.Excel.ListObject-Steuerelement mit dem Namen fruitList auf dem aktiven Arbeitsblatt befindet.

    Dim fruitList As Excel.ListObject = CType(Application.ActiveSheet,  _
        Excel.Worksheet).ListObjects.AddEx(Excel.XlListObjectSourceType.xlSrcRange, _
        Application.Range("A1", "B2"))
    fruitList.Range.Sort( _
    Key1:=fruitList.ListColumns(1).Range, Order1:=Excel.XlSortOrder.xlAscending, _
    Key2:=fruitList.ListColumns(2).Range, Order2:=Excel.XlSortOrder.xlAscending, _
    Orientation:=Excel.XlSortOrientation.xlSortColumns, _
    Header:=Excel.XlYesNoGuess.xlYes)
    
    Excel.ListObject fruitList = 
         ((Excel.Worksheet)Application.ActiveSheet).
             ListObjects.Add(Microsoft.Office.Interop.Excel.XlListObjectSourceType.xlSrcRange,
             Application.get_Range("A1", "B3"), 
             missing, Microsoft.Office.Interop.Excel.XlYesNoGuess.xlNo); 
        fruitList.Range.Sort(
            fruitList.ListColumns[1].Range, Excel.XlSortOrder.xlAscending,
            fruitList.ListColumns[2].Range, missing, Excel.XlSortOrder.xlAscending,
            missing, Excel.XlSortOrder.xlAscending,
            Excel.XlYesNoGuess.xlYes, missing, missing,
            Excel.XlSortOrientation.xlSortColumns,
            Excel.XlSortMethod.xlPinYin,
            Excel.XlSortDataOption.xlSortNormal,
            Excel.XlSortDataOption.xlSortNormal,
            Excel.XlSortDataOption.xlSortNormal);
    

Siehe auch

Aufgaben

Gewusst wie: Programmgesteuertes automatisches Füllen von Bereichen mit inkrementellen Daten

Gewusst wie: Programmgesteuertes Verweisen auf Arbeitsblattbereiche im Code

Gewusst wie: Programmgesteuertes Anwenden von Formaten auf Bereiche in Arbeitsmappen

Konzepte

Arbeiten mit Arbeitsblättern

NamedRange-Steuerelement

ListObject-Steuerelement

Optionale Parameter in Office-Lösungen