VBA Poista sisältö - Kuinka tyhjentää tai poistaa sisältöä VBA-koodilla?

Excel VBA Tyhjennä sisältö

Tyhjennä sisältö on VBA: n menetelmä, jota käytetään poistamaan tai poistamaan sille toimitettuihin soluihin tallennetut arvot, tämä menetelmä tekee solualueen tyhjäksi ja sitä käytetään alueen ominaisuuden kanssa määritetyn solualueen käyttämiseen, esimerkki Tämän menetelmän käyttäminen on seuraava alue (“A1: B2”). ClearContents tämä menetelmä tyhjentää solujen sisällön välillä A1 - B2.

Excelissä tietojen lisääminen ja tietojen poistaminen on yleinen rutiinitehtävä. Joskus poistamme yhden solun arvon, joskus useita solujen arvoja, ja joskus saatamme joutua poistamaan myös koko laskentataulukon sisällön. Tässä artikkelissa näytämme, kuinka "Poista sisältö" -menetelmää käytetään Excel VBA: ssa. VBA: ssa meillä on monia tapoja tehdä tämä, kuten "Tyhjennä", "Poista" ja "Tyhjennä sisältö".

Mitä selkeä sisältö on Excel VBA: ssa?

Ennen kuin kerron sinulle sisällön tyhjentämisestä VBA: ssa, haluan näyttää, kuinka voimme poistaa tai tyhjentää tietyn alueen tiedot.

Katso esimerkiksi alla olevia tietoja.

Nyt, jos haluan poistua solusta A1 - C3, meidän on ensin mainittava solualue VBA RANGE -objektin avulla.

Koodi:

Alue (“A1: C3”)

Mainittuamme solualueen RANGE-objektilla, meidän on valittava menetelmä "Tyhjennä" poistaaksesi soluarvojen maininnan.

Koodi:

Alue (“A1: C3”). Selkeä

Tämä tyhjentää mainitut soluarvot.

Koodi:

Sub Clear_Example () -alue ("A1: C3"). Tyhjennä End Sub

Selkeän menetelmän lisäksi voimme käyttää myös "POISTA" -menetelmää.

Koodi:

Alue (“A1: C3”). Poista

Tämä poistaa mainitut soluarvot, aivan kuten selkeä menetelmä on tehnyt.

Jos haluat poistaa kaikki solun tiedot, voit käyttää VBA CELLS -ominaisuutta laskentataulukon nimellä.

Taulukot (“Sheet1”). Solut. Poista
Laskentataulukot ("Sheet1"). Solut

Molemmat yllä olevat koodit poistavat koko taulukon ”Sheet1” tiedot. Se poistaa soluarvot suoraan laskentataulukon ensimmäisestä solusta viimeiseen soluun.

Jos haluat poistaa nykyiset taulukon solut, voit käyttää Active Sheet -objektia.

ActiveSheet.Cells.Delete tai ActiveSheet.Cells.Clear

Tyhjennä ja poista -menetelmien välinen ero

Tiedän, että tämän kysymyksen olisi pitänyt jo olla mielessäsi.

Kyllä, näiden kahden menetelmän välillä on ero.

Kun käytät "Poista" -menetelmää, se poistaa solun, ja alla oleva solu ottaa poistetun solun sijainnin.

Katso esimerkiksi alla olevaa kuvaa.

Nyt aion poistaa solun A1 poistomenetelmällä.

Koodi:

Sub Clear_Example () -alue ("A1"). Poista End Sub

Suoritan tämän koodin ja näen mitä tapahtuu.

Katso mitä täällä tapahtui; kuten kerroin, kun poistin solun A1, se poistetaan, mutta solu A2 siirtää yhden solun ylöspäin ja vie poistetun solun. Tämä johtaa tietojen ristiriitaan. Joten ole varovainen, kun käytät Poista-menetelmää.

Nyt samat tiedot, poistan menetelmän.

Koodi:

Sub Clear_Example () -alue ("A1"). Tyhjennä End Sub

Katso nyt mitä tapahtuu, kun suoritan tämän koodin.

Tämä koodi on juuri vapauttanut solun A1 muuttamatta muita soluja. Tämä näyttää oikealta tavalta poistaa vain osa soluista koko tietoalueelta.

Käytä VBA Tyhjennä sisältö -menetelmää solujen muotoilun säilyttämiseksi

Jos olet havainnut kaksi edellistä menetelmää, nämä kaksi menetelmää paitsi poistivat tai tyhjensivät toimitetut solut. Se poisti myös toimittamiemme solujen muotoilun.

Solujen muotoilun säilyttämiseksi meidän ei tarvitse käyttää ”Poista” tai “Tyhjennä”, mutta meidän on käytettävä VBA ”Poista sisältö” -menetelmää.

Kun syötät solualueen RANGE-objektilla, se näyttää kaikki siihen liittyvät ominaisuudet ja menetelmät.

We can access “Delete,” we can access “Clear,” and we can also “ClearContents” methods.

Select this method.

Code:

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

Now, this will clear content from A1 to C3 cell, but we will have all the existing formatting as it is.

As you can see in the above picture, we have cell color in VBA, borders, and every formatting associated with those mentioned cells.

Similarly, we can clear the contents of other sheets as well.

Worksheets(“Sheet1”).Range(“A1:D10”).ClearContents

This will clear the contents from the cells A1 to D10 in the sheet “Sheet1”.

Similarly, we can delete the other open workbook cells as well.

Workbooks(“Book1.xlsx”).Worksheets(“Sheet1”).Range(“A1:D10”).ClearContents

Loop Through all the Worksheets and Clear Contents of Specific Range

Oletetaan, että työkirjassasi on useita taulukoita, ja haluat poistaa solualueen A1: stä C15: iin kaikista taulukoista, joita meidän on käytettävä VBA: n jokaista silmukkaa varten.

Alla oleva koodi tekee työn.

Koodi:

Sub Clear_All () Himmennä Ws laskentataulukoksi jokaiselle ActiveWorkbook.Worksheets Ws.Range ("A1: C15") -sivulle. ClearContents Next Ws End Sub
Huomaa: Voit muuttaa solualueita toiveidesi mukaan.

Jos haluat poistaa kaikki laskentataulukon tiedot, sinun on käytettävä alla olevaa koodia.

Koodi:

Sub Clear_All () Himmennä Ws laskentataulukoksi jokaiselle W: lle ActiveWorkbook.Worksheets Ws.Cells.ClearContents Next Ws End Sub

Voit ladata tämän VBA Clear Contents Excel -mallin täältä - VBA Clear Contents Template.

Mielenkiintoisia artikkeleita...