Nwlapcug.com


Come ordinare in base al colore di cella in Excel 2003

Se si dispone di un foglio di calcolo dove la tabella include dati in celle con sfondo colorato diverso, potrebbe essere utile per ordinare quelle cellule di colori delle celle. Excel 2003 non ha una funzionalità che consente di ordinare di colore della cella. Tuttavia, esiste una soluzione alternativa: è possibile inserire un Visual Basic Applications Edition (VBA) macro per eseguire il compito per voi. VBA è un linguaggio di programmazione appositamente progettato per adattare le applicazioni di Office in base alle esigenze.

Istruzioni

1

Premere "Alt e"F11"insieme dal foglio di lavoro Excel che si desidera ordinare. Verrà aperto l'Editor di Visual Basic (VBE).

2

Fare clic su "Inserisci" e quindi fare clic su "Modulo".

3

Tagliare e incollare il codice seguente nella finestra vuota:

Sub SortByColor()

On Error GoTo SortByColor_Err

Dim sRangeAddress As String

Dim sStartCell As String

Dim sEndCell As String

Dim rngSort As Range

Dim rng As Range

Application.ScreenUpdating = False

sStartCell = InputBox("Enter the cell address of the " & _

"top cell in the range to be sorted by color" & _

Chr(13) & "i.e. 'A1'", "Enter Cell Address")

If sStartCell > "" Then

sEndCell = Range(sStartCell).End(xlDown).Address

Range(sStartCell).EntireColumn.Insert

Set rngSort = Range(sStartCell, sEndCell)

For Each rng In rngSort

rng.Value = rng.Offset(0, 1).Interior.ColorIndex

Next

Range(sStartCell).Sort Key1:=Range(sStartCell), _

Order1:=xlAscending, Header:=xlNo, _

Orientation:=xlTopToBottom

Range(sStartCell).EntireColumn.Delete

End If

SortByColor_Exit:

Application.ScreenUpdating = True

Set rngSort = Nothing

Exit Sub

SortByColor_Err:

MsgBox Err.Number & ": " & Err.Description, _

vbOKOnly, "SortByColor"

Resume SortByColor_Exit

End Sub

4

Premere "F5" per eseguire la macro. La macro vi chiederà l'inizio dell'intervallo che si desidera ordinare per colore: inserire la cella superiore sinistra nell'intervallo.

Consigli & Avvertenze

  • La macro precedente è per l'ordinamento dei dati che non dispone di una riga di intestazione. Se i dati dispone di una riga di intestazione nella riga 1, modificare "intestazione: = xlNo" a "intestazione: = xlYes."