Om du har ett kalkylblad där tabellen har data i celler med olika färgad bakgrund , kan du finna det praktiskt att sortera dessa celler genom cell färger . Excel 2003 har inte en funktion som gör att du kan sortera efter cellfärg . Men det finns en lösning : du kan infoga ett Visual Basic for Applications ( VBA ) makro för att utföra uppgiften åt dig . VBA är ett programmeringsspråk speciellt utformad för att skräddarsy dina Office-program för att passa dina behov . Instruktioner
1
Tryck " Alt och " F11 " tillsammans från Excel-kalkylblad som du vill sortera . Detta öppnar Visual Basic Editor ( VBE ) .
2
Klicka " infoga " och klicka sedan på " Module " Addera 3
Klipp och klistra in följande kod i det tomma fönstret : .
Sub SortByColor ( ) katalog
On Fel GoTo SortByColor_Err
Dim sRangeAddress As String
Dim sStartCell As String
Dim sEndCell As String
Dim rngSort Som räckvidd
Dim RNG som Range
Application.ScreenUpdating = False
sStartCell = InputBox ( " Ange cellens adress " & _
" översta cellen i området som ska sorteras av färg " & _
Chr ( 13 ) & " , dvs ' A1 ' " , " Enter celladressen " ) katalog p Om sStartCell > " " Då
sEndCell = Range ( sStartCell ) . End ( xlDown ) . Adress
Range ( sStartCell ) . EntireColumn.Insert
Set rngSort = Range ( sStartCell , sEndCell ) katalog
For Each RNG I rngSort
rng.Value = rng.Offset ( 0 , 1 ) Interior.ColorIndex
Nästa
Range ( sStartCell ) Sortera Key1 : . . = Range ( sStartCell ) , _
Order1 : = xlAscending , Header : = xlNo , _
Orientering : = xlTopToBottom
Range ( sStartCell ) EntireColumn.Delete
. End If
SortByColor_Exit :
Application.ScreenUpdating = Sant
Set rngSort = Nothing
Exit Sub SortByColor_Err
:
MsgBox Err.Number & " : " & Err.Description , _
vbOKOnly , " SortByColor "
Resume SortByColor_Exit
End Sub
4
Tryck " F5 " för att köra makrot makrot kommer att fråga dig i början av området som du vill sortera efter färg : . . anger det övre vänstra cellen i området