Sortering av farger

March 14  by Eliza

Excel lar deg sortere dataene i regnearkene av en rekke attributter. En av de tingene som du kan ikke egentlig sorter etter, derimot, er fargen på celler-i alle fall ikke uten å oppdatere til Excel 2007 eller senere. For noen programmer kan dette være en svært nyttig funksjon. Den følgende makro, SortByColor, vil sortere en tabell basert på fargen som en celle er formatert.

Sub SortByColor ()
On Error GoTo SortByColor_Err

Dim sRangeAddress As String
Dim sStartCell As String
Dim sEndCell As String
Dim rngSort Som Range
Dim RNG Som Range

Application.ScreenUpdating = False

sStartCell = InputBox ("Skriv cellen adressen til" & _
"Øverste cellen i området for å bli sortert etter farge" & _
Chr (13) & "dvs." A1 "", "Enter Cell-adresse")

Hvis sStartCell> "" Then
sEndCell = Range (sStartCell) END (xlDown) .Address
Range (sStartCell) .EntireColumn.Insert
Satt rngSort = Range (sStartCell, sEndCell)
For Hver RNG I rngSort
rng.Value = rng.Offset (0, 1) .Interior.ColorIndex
Neste
Range (sStartCell) .Sort Key1: = Range (sStartCell), _
Bestilling1: = xlAscending, Header: = xlNo, _
Orientering: = xlTopToBottom
Range (sStartCell) .EntireColumn.Delete
End If

SortByColor_Exit:
Application.ScreenUpdating = True
Satt rngSort = Nothing
Exit Sub

SortByColor_Err:
MsgBox err.number & ":" & Err.Description, _
vbOKOnly, "SortByColor"
Gjenoppta SortByColor_Exit
End Sub

Makro verker av først å spørre deg i begynnelsen av det celleområdet du vil sortere. Dette bør være den øverste cellen i området. Makro deretter setter en kolonne (bare midlertidig) i hvilket fargeverdier kan lagres. Det skritt deretter gjennom hver celle i området definert av startcellen du har angitt.

SortByColor forutsdatatabellen ikke har en header rad. Hvis den gjør det, bør du endre den faktiske sortering kommandoen. Bare endre Header: = xlNo til vegg: = xlYes.

Du bør være oppmerksom på at det SortByColor makroen vil bare sortere celler basert på eksplisitt farge brukt på cellen, det vil ikke sortere hvis fargen på cellen er resultatet av betinget formatering.

ExcelTips er din kilde for kostnadseffektiv Microsoft Excel trening. Dette tipset (3122) gjelder for Microsoft Excel 97, 2000, 2002, og 2003. Du kan finne en versjon av dette tipset for Båndet av Excel (Excel 2007 og senere) her: Sortering av farger.