Jasný obsah VBA Ako vymazať alebo odstrániť obsah pomocou kódu VBA?

Excel VBA Jasný obsah

Vymazať obsah je metóda vo VBA, ktorá sa používa na odstránenie alebo odstránenie hodnôt, ktoré sú uložené v bunkách, ktoré sú jej poskytnuté. Táto metóda vyprázdňuje rozsah buniek a používa sa s vlastnosťou rozsahu na prístup k určenému rozsahu buniek, príklad použitie tejto metódy je v nasledujúcom rozmedzí („A1: B2“). ClearContents Táto metóda vymaže obsah buniek od A1 po B2.

V programe Excel je pridávanie údajov a ich mazanie bežnou rutinnou úlohou. Niekedy odstránime jednu hodnotu bunky, niekedy veľa hodnôt buniek a niekedy budeme musieť vymazať aj celý obsah tabuľky. V tomto článku si ukážeme, ako používať metódu „Vymazať obsah“ v programe Excel VBA. Vo VBA na to máme veľa spôsobov, ako napríklad „Vymazať“, „Odstrániť“ a „Vymazať obsah“.

Čo je jasný obsah v programe Excel VBA?

Než vám poviem o vymazaní obsahu vo VBA, dovoľte mi ukázať, ako môžeme vymazať alebo vymazať údaje v konkrétnom rozsahu.

Napríklad si pozrite nasledujúce údaje.

Teraz, ak sa chcem vyčistiť z bunky A1 až C3, musíme najskôr spomenúť rozsah buniek pomocou objektu VBA RANGE.

Kód:

Rozsah („A1: C3“)

Po zmienke o rozsahu buniek pomocou objektu RANGE musíme zvoliť metódu „Clear“, aby sme odstránili zmienku o hodnotách buniek.

Kód:

Rozsah („A1: C3“). Čistý

Toto vymaže uvedené hodnoty buniek.

Kód:

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

Okrem jasnej metódy môžeme použiť aj metódu „DELETE“.

Kód:

Rozsah („A1: C3“). Odstrániť

Týmto odstránite uvedené hodnoty buniek, rovnako ako to urobila naša jasná metóda.

Ak chcete odstrániť všetky údaje bunky, môžete použiť vlastnosť VBA CELLS s názvom pracovného hárka.

Pracovné listy („List1“). Bunky. Odstrániť
Pracovné listy („List1“). Bunky. Vymazať

Oba vyššie uvedené kódy odstránia všetky údaje z hárka „List1“. Odstráni sa hodnoty buniek hneď od prvej bunky po poslednú bunku tabuľky.

Ak chcete odstrániť súčasné bunky hárka, môžete použiť objekt Aktívny hárok.

ActiveSheet.Cells.Delete alebo ActiveSheet.Cells.Clear

Rozdiel medzi metódami vymazania a odstránenia

Viem, že táto otázka už mala hrať vo vašej mysli.

Áno, medzi týmito dvoma metódami je rozdiel.

Ak použijete metódu „Odstrániť“, odstráni sa bunka a bunka pod ňou prevezme pozíciu odstránenej bunky.

Napríklad sa pozrite na obrázok nižšie.

Teraz použijem metódu delete na vymazanie bunky A1.

Kód:

Sub Clear_Example () Range ("A1"). Vymazať End Sub

Spustím tento kód a uvidím, čo sa stane.

Pozri, čo sa tu stalo; ako som povedal, keď som odstránil bunku A1, je odstránená, ale bunka A2 presunie jednu bunku hore a obsadí odstránenú bunku. To povedie k nesúladu údajov. Pri používaní metódy Odstrániť buďte preto opatrní.

Teraz pre tie isté údaje metódu vyčistím.

Kód:

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

Teraz uvidíte, čo sa stane, keď spustím tento kód.

Tento kód práve uvoľnil bunku A1 bez zmeny ďalších buniek. Zdá sa, že je to vhodná metóda na odstránenie iba časti buniek z celého rozsahu údajov.

Na zachovanie formátovania buniek použite metódu čistého obsahu VBA

Ak ste pozorovali predchádzajúce dve metódy, tieto dve metódy nielen odstránili alebo vymazali poskytnuté bunky. Odstránilo sa tým aj formátovanie buniek, ktoré sme poskytli.

Aby sme zachovali formátovanie buniek, nemusíme používať „Odstrániť“ ani „Vymazať“, ale musíme použiť metódu VBA „Vymazať obsah“.

V okamihu, keď pomocou objektu RANGE zadáte rozsah buniek, zobrazí sa všetky vlastnosti a metódy, ktoré sú s ním spojené.

Máme prístup k položke „Odstrániť“, máme prístup k položkám „Vymazať“ a tiež k metódam „ClearContents“.

Vyberte túto metódu.

Kód:

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

Týmto sa vymaže obsah z bunky A1 do bunky C3, ale budeme mať všetky existujúce formátovania tak, ako sú.

Ako vidíte na obrázku vyššie, máme farbu buniek vo VBA, ohraničenie a každé formátovanie spojené s uvedenými bunkami.

Podobne môžeme vyčistiť obsah aj ďalších listov.

Pracovné listy („List1“). Rozsah („A1: D10“). ClearContents

Týmto sa vymaže obsah buniek A1 až D10 v hárku „List1“.

Podobne môžeme odstrániť aj ďalšie otvorené bunky zošita.

Pracovné zošity („Book1.xlsx“). Pracovné listy („List1“). Rozsah („A1: D10“). ClearContents

Prejdite všetky pracovné listy a zreteľný obsah konkrétneho rozsahu

Predpokladajme, že máte v zošite veľa hárkov a chcete odstrániť rozsah buniek od A1 do C15 vo všetkých hárkoch, ktoré na to musíme použiť Pre každú slučku vo VBA.

Nasledujúci kód urobí prácu.

Kód:

Sub Clear_All () Dim Ws ako pracovný hárok pre každú Ws v ActiveWorkbook.Worksheets Ws.Range ("A1: C15"). ClearContents Next Ws End Sub
Poznámka: Rozsah buniek môžete zmeniť podľa vášho želania.

Pre prípad, že chcete vymazať celé údaje z hárka, musíte použiť nasledujúci kód.

Kód:

Sub Clear_All () Dim Ws ako pracovný hárok pre každú Ws v ActiveWorkbooku. Pracovné listy Ws.Cells.ClearContents Ďalej Ws End Sub

Túto šablónu VBA Clear Contents Excel si môžete stiahnuť tu - Šablóna VBA Clear Contents.

Zaujímavé články...