Procedura: ordinare dati nei fogli di lavoro a livello di codice
Aggiornamento: Luglio 2008
Si applica a |
---|
Le informazioni contenute in questo argomento riguardano solo i progetti Visual Studio Tools per Office e le versioni di Microsoft Office specificati. Tipo di progetto
Versione Microsoft Office
Per ulteriori informazioni, vedere Funzionalità disponibili in base ai tipi di progetto e applicazione. |
È possibile ordinare i dati contenuti negli intervalli e negli elenchi dei fogli di lavoro in fase di esecuzione. Il codice seguente consente di ordinare un intervallo a più colonne denominato Fruits in base ai dati della prima colonna e quindi ai dati della seconda colonna.
A partire da Visual Studio 2008 Service Pack 1 (SP1) è possibile ordinare i dati in fase di esecuzione nei componenti aggiuntivi a livello di applicazione.
Ordinamento dei dati in una personalizzazione a livello di documento
Per ordinare dati in un controllo NamedRange
Chiamare il metodo Sort del controllo NamedRange. Nell'esempio seguente viene richiesto un controllo NamedRange denominato Fruits in un foglio di lavoro. Il codice deve essere inserito in una classe Sheet e non nella classe ThisWorkbook.
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);
Inserire il codice seguente in Sheet1.vb o Sheet1.cs per ordinare i dati in un controllo ListObject. Nel codice si presuppone la presenza di un controllo Microsoft.Office.Tools.Excel.ListObject denominato fruitList in un foglio di lavoro denominato Sheet1.
Per ordinare dati in un controllo ListObject
Chiamare il metodo Sort della proprietà Range del controllo host ListObject.
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);
Ordinamento dei dati in un componente aggiuntivo a livello di applicazione
Per ordinare dati in un intervallo nativo
Chiamare il metodo Sort del controllo Microsoft.Office.Interop.Excel.Range nativo di Excel. Nell'esempio seguente viene richiesto un controllo nativo di Excel denominato Fruits in un foglio di lavoro.
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);
Per ordinare dati in un controllo ListObject
Chiamare il metodo Sort della proprietà Range del controllo Microsoft.Office.Interop.Excel.ListObject nativo di Excel. Nell'esempio seguente si presuppone che nel foglio di lavoro attivo sia disponibile un controllo Microsoft.Office.Interop.Excel.ListObject nativo di Excel denominato fruitList.
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);
Vedere anche
Attività
Procedura: riempire automaticamente gli intervalli con dati modificati in modo incrementale
Procedura: fare riferimento agli intervalli dei fogli di lavoro nel codice
Procedura: applicare stili agli intervalli nei fogli di lavoro
Concetti
Informazioni sui parametri facoltativi nelle soluzioni Office
Cronologia delle modifiche
Date |
History |
Motivo |
---|---|---|
Luglio 2008 |
Aggiunto un esempio di codice utilizzabile in un componente aggiuntivo a livello di applicazione. |
Commenti e suggerimenti dei clienti. |