Gewusst wie: Programmgesteuertes Sortieren von Daten in Arbeitsblättern
Aktualisiert: Juli 2008
Betrifft |
---|
Die Informationen in diesem Thema gelten nur für die angegebenen Visual Studio Tools for Office-Projekte und Versionen von Microsoft Office. Projekttyp
Microsoft Office-Version
Weitere Informationen finden Sie unter Verfügbare Features nach Anwendung und Projekttyp. |
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.
Ab Visual Studio 2008 Service Pack 1 (SP1) können Sie Daten zur Laufzeit in Add-Ins auf Anwendungsebene sortieren.
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, missing], Excel.XlSortOrder.xlAscending, 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);
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, missing); 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: Automatisches Füllen von Bereichen mit inkrementellen Daten
Gewusst wie: Verweisen auf Arbeitsblattbereiche im Code
Gewusst wie: Anwenden von Formaten für Bereiche in Arbeitsmappen
Konzepte
Optionale Parametern in Office-Projektmappen
Änderungsprotokoll
Date |
Versionsgeschichte |
Grund |
---|---|---|
Juli 2008 |
Codebeispiel hinzugefügt, das in einem Add-In auf Anwendungsebene verwendet werden kann. |
Kundenfeedback. |