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