SpecialCells: Variant på Klistra Värde i Excel VBA

Först publicerad:

| © ExcelKungen.com

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.

Populära artiklar

Dagens tips

Relaterade artiklar