Introduktion till Specialcells i Excel VBA
I det dagliga arbetet med Excel är det vanligt att behöva hantera formler och värden. En vanlig metod för att konvertera cellers formler till värden är genom att använda
PasteSpecial
tillsammans med Paste:=xlValues
.
Men det finns faktiskt ett alternativ som kan vara ännu mer kraftfullt – SpecialCells. I denna artikel kommer vi att utforska hur du kan använda SpecialCells för att effektivt hantera formler i Excel VBA.
Vad är Specialcells?
SpecialCells är en objektklass i Excel som gör det möjligt att snabbt och enkelt referera till specifika celler som uppfyller vissa kriterier. Du når SpecialCells-funktionen via:
- Tangent F5
- Menyn Home – Find & Select – Go To Special.
När du öppnar SpecialCells-dialogrutan kan du markera olika typer av celler såsom t.ex. tomma celler eller celler med formler. Detta gör det enklare att arbeta med stora kalkylblad där du snabbt behöver hitta och manipulera specifika celler.
Specialcells: konvertera formler till värden
Konvertera alla formler i ett kalkylblad
En tillämpning av SpecialCells är att konvertera alla formler i ett kalkylblad till värden. Här är ett enkelt VBA-exempel för att göra just det:
Sub FormlerSheetTillKonstanter()
With ActiveSheet.UsedRange.SpecialCells(xlFormulas)
.Value = .Value
End With
End Sub
Konvertera markerade celler
Om du bara vill konvertera de celler som för närvarande är markerade, kan du använda följande kod:
Sub FormlerRangeTillKonstanter()
With Selection.SpecialCells(xlFormulas)
.Value = .Value
End With
End Sub
Konvertera formler i hela arbetsboken
För att konvertera alla formler i hela arbetsboken till värden behöver vi en funktion som loopar igenom alla kalkylblad. Så här gör du:
Sub FormlerBokTillKonstanter()
intlExcelFlikar = ActiveWorkbook.Worksheets.Count
For i = 1 To intlExcelFlikar
Worksheets(i).Activate
With ActiveSheet.UsedRange.SpecialCells(xlFormulas)
.Value = .Value
End With
Next i
End Sub
Ytterligare tillämpningar av specialcells
Metoden är inte begränsad bara till celler med formler. Det finns flera andra användbara typer av celler du kan arbeta med:
- SpecialCells(xlCellTypeBlanks): Markerar tomma celler.
- SpecialCells(xlCellTypeAllFormatConditions): Markerar celler med villkorade format.
- SpecialCells(xlCellTypeComments): Markerar celler med kommentarer.
Genom att använda dessa varianter kan du enkelt rensa cellkommentarer eller hantera tomma celler i stora kalkylblad.
Slutsats
SpecialCells är en kraftfull funktion i Excel VBA som kan förenkla ditt arbete och spara tid. Genom att utnyttja denna objektklass kan du effektivt konvertera formler till värden och hantera celler på ett mer strukturerat sätt.