VBA tydligt innehåll - Hur rensar eller tar man bort innehåll med VBA-kod?

Innehållsförteckning

Excel VBA Rensa innehåll

Rensa innehåll är en metod i VBA som används för att ta bort eller ta bort värdena som lagras i cellerna som tillhandahålls, den här metoden gör cellområdet tomt och det används med områdesegenskapen för att komma åt det angivna cellområdet, exemplet att använda denna metod är följande intervall (“A1: B2”). ClearContents Denna metod rensar innehållet i celler från A1 till B2.

I Excel är det en vanlig rutinuppgift att lägga till data och ta bort data. Ibland tar vi bort ett enda cellvärde, ibland många cellvärden, och ibland kan vi behöva ta bort hela kalkylbladets innehåll också. I den här artikeln visar vi dig hur du använder metoden "Rensa innehåll" i Excel VBA. I VBA har vi många metoder för att göra detta som "Rensa", "Radera" och "Rensa innehåll."

Vad är tydligt innehåll i Excel VBA?

Innan jag berättar om Rensa innehåll i VBA, låt mig visa hur vi kan ta bort eller rensa data i det specifika intervallet.

Titta till exempel på nedanstående data.

Nu, om jag vill rensa bort från cellen A1 till C3, måste vi först nämna cellintervallet med hjälp av VBA RANGE-objektet.

Koda:

Räckvidd (“A1: C3”)

Efter att ha nämnt cellområdet med hjälp av RANGE-objektet måste vi välja metoden "Rensa" för att rensa omnämnandet av cellvärdena.

Koda:

Räckvidd (“A1: C3”). Rensa

Detta tar bort de nämnda cellvärdena.

Koda:

Sub Clear_Example () Range ("A1: C3"). Clear End Sub

Förutom den tydliga metoden kan vi också använda "RADERA" -metoden också.

Koda:

Område (“A1: C3”). Radera

Detta tar bort de nämnda cellvärdena, precis som vår tydliga metod har gjort.

Om du vill ta bort all cellinformation kan du använda VBA CELLS-egenskapen med ett kalkylbladets namn.

Kalkylblad ("Sheet1"). Cells.Radera
Kalkylblad ("Sheet1"). Cells.Clear

Båda ovanstående koder raderar hela data i kalkylbladet "Sheet1". Det tar bort cellvärdena från den första cellen till den sista cellen i kalkylbladet.

Om du vill ta bort nuvarande arkceller kan du använda Active Sheet-objektet.

ActiveSheet.Cells.Rader eller ActiveSheet.Cells.Clear

Skillnaden mellan rensa och ta bort metoder

Jag vet att den här frågan redan borde ha spelat i ditt sinne.

Ja, det finns en skillnad mellan dessa två metoder.

När du använder metoden "Radera" kommer den att ta bort cellen och cellen nedan tar över positionen för den raderade cellen.

Titta till exempel på bilden nedan.

Nu kommer jag att använda raderingsmetoden för att ta bort cellen A1.

Koda:

Sub Clear_Example () Range ("A1"). Radera End Sub

Jag kommer att köra den här koden och se vad som händer.

Se vad som hände här; som jag sa när jag raderade cellen A1 raderas den, men cellen A2 flyttar en cell uppåt och upptar den raderade cellen. Detta leder till en datafel. Så var försiktig när du använder Delete-metoden.

Nu för samma data kommer jag att rensa metoden.

Koda:

Sub Clear_Example () Range ("A1"). Clear Clear Sub Sub

Se nu vad som händer när jag kör den här koden.

Den här koden har precis lämnat cellen A1 utan att ändra andra celler. Detta ser ut som rätt metod för att bara ta bort den del av cellerna i hela dataområdet.

Använd VBA Clear Innehållsmetod för att behålla formatering av celler

Om du har observerat de två föregående metoderna har dessa två metoder inte bara raderat eller rensat bort de angivna cellerna. Det raderade också formateringen av cellerna vi har tillhandahållit.

För att behålla formateringen av cellerna behöver vi varken "Radera" eller "Rensa", utan vi måste använda metoden VBA "Rensa innehåll".

I det ögonblick du anger cellområdet med hjälp av ett RANGE-objekt, kommer det att visa alla egenskaper och metoder som är associerade med det.

Vi kan komma åt "Radera", vi kan komma åt "Rensa" och vi kan också "ClearContents" -metoder.

Välj den här metoden.

Koda:

Sub Clear_Example () Range ("A1: C3"). ClearContents End Sub

Nu rensar innehållet från A1 till C3-cellen, men vi kommer att ha all befintlig formatering som den är.

Som du kan se i bilden ovan har vi cellfärg i VBA, gränser och varje formatering associerad med de nämnda cellerna.

På samma sätt kan vi också rensa innehållet på andra ark.

Kalkylblad ("Sheet1"). Område ("A1: D10"). ClearContents

Detta rensar innehållet från cellerna A1 till D10 i arket ”Sheet1”.

På samma sätt kan vi också ta bort de andra öppna arbetsbokcellerna.

Arbetsböcker ("Book1.xlsx"). Arbetsblad ("Sheet1"). Område ("A1: D10"). ClearContents

Gå igenom alla kalkylblad och rensa innehåll i specifikt intervall

Antag att du har många ark i din arbetsbok och att du vill ta bort cellintervallet från A1 till C15 i alla ark som vi behöver använda för varje loop i VBA för att göra detta.

Koden nedan kommer att göra jobbet.

Koda:

Sub Clear_All () Dim Ws som kalkylblad för varje Ws i ActiveWorkbook.Worksheets Ws.Range ("A1: C15"). ClearContents Nästa Ws End Sub
Obs! Du kan ändra cellintervallet enligt dina önskemål.

Om du vill ta bort hela kalkylbladets data måste du använda koden nedan.

Koda:

Under Clear_All () Dim Ws som arbetsblad för varje Ws i ActiveWorkbook.Worksheets Ws.Cells.ClearContents Nästa Ws End Sub

Du kan ladda ner denna Excel-mall för VBA Clear Innehåll här - VBA Clear Innehållsmall.

Intressanta artiklar...