Hvordan Sorter etter Cell Color i Excel 2003

Hvis du har et regneark der bordet ditt har data i celler med forskjellig farget bakgrunn, kan du finne det nyttig å sortere disse cellene ved celle farger. Excel 2003 ikke har en funksjon som gjør at du kan sortere etter cellefarge. Men det er en løsning: Du kan sette inn en Visual Basic for Applications (VBA) makro til å utføre oppgaven for deg. VBA er et programmeringsspråk spesielt designet for å skreddersy dine Office-programmer som passer dine behov.

Bruksanvisning

1 Trykk "Alt og" F11 "sammen fra Excel-regnearket du vil sortere. Dette åpner Visual Basic Editor (VBE).

2 Klikk "Sett inn" og deretter "Module".

3 Klipp og lim inn følgende kode i tomt vindu:

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 ( "Skriv inn celleadressen av" & amp; _

"Øverste cellen i området for å bli sortert etter farge" & amp; _

Chr (13) & amp; "Dvs." A1 "", "Enter Cell-adresse")

Hvis sStartCell> "" Then

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

Range (sStartCell) .EntireColumn.Insert

Sett 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

Slutt om

SortByColor_Exit:

Application.ScreenUpdating = True

Sett rngSort = Nothing

Exit Sub

SortByColor_Err:

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

vbOKOnly, "SortByColor"

gjenoppta SortByColor_Exit

End Sub

4 Trykk "F5" for å kjøre makroen. Makroen vil be deg om begynnelsen av området du ønsker å sortere etter farge: gå inn i øverste venstre cellen i området.

Hint

  • Ovennevnte makro er for sortering av data som ikke har en header rad. Hvis dataene har en header rad i rad 1, endring "Header: = xlNo" til "Header: = xlYes."