Jasný obsah VBA | Jak vymazat nebo odstranit obsah pomocí kódu VBA?

Excel VBA Jasný obsah

Vymazat obsah je metoda ve VBA, která se používá k odstranění nebo odebrání hodnot, které jsou uloženy v buňkách, které jsou jí poskytovány, tato metoda dělá rozsah buněk prázdný a používá se s vlastností range pro přístup k určenému rozsahu buněk, příklad použití této metody je následující rozsah („A1: B2“). ClearContents Tato metoda vymaže obsah buněk z A1 na B2.

V aplikaci Excel je přidávání a mazání dat běžným rutinním úkolem. Někdy odstraníme hodnotu jedné buňky, někdy mnoho hodnot buněk a někdy můžeme vyžadovat také smazání celého obsahu listu. V tomto článku vám ukážeme, jak používat metodu „Vymazat obsah“ v aplikaci Excel VBA. Ve VBA máme k dispozici mnoho metod, jako je „Vymazat“, „Odstranit“ a „Vymazat obsah“.

Co je to jasný obsah v aplikaci Excel VBA?

Než vám povím o Vymazat obsah ve VBA, dovolte mi ukázat, jak můžeme odstranit nebo vymazat data v konkrétním rozsahu.

Podívejte se například na níže uvedená data.

Nyní, když chci vymazat z buňky A1 až C3, musíme nejprve zmínit rozsah buněk pomocí objektu VBA RANGE.

Kód:

Rozsah („A1: C3“)

Po zmínce rozsahu buněk pomocí objektu RANGE musíme vybrat metodu „Vymazat“, aby se zmizela zmínka o hodnotách buněk.

Kód:

Rozsah („A1: C3“). Jasný

To vymaže uvedené hodnoty buněk.

Kód:

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

Kromě jasné metody můžeme také použít metodu „DELETE“.

Kód:

Rozsah („A1: C3“). Smazat

Tímto odstraníte zmíněné hodnoty buněk stejně, jako to udělala naše jasná metoda.

Chcete-li odstranit všechna data buňky, můžete použít vlastnost VBA CELLS s názvem listu.

Pracovní listy („List1“). Buňky. Odstranit
Pracovní listy („List1“). Buňky. Vymazat

Oba výše uvedené kódy odstraní všechna data z listu „List1“. Odstraní hodnoty buněk přímo z první buňky do poslední buňky listu.

Chcete-li odstranit stávající buňky listu, můžete použít objekt Aktivní list.

ActiveSheet.Cells.Delete nebo ActiveSheet.Cells.Clear

Rozdíl mezi metodami Vymazat a Odstranit

Vím, že tato otázka už měla hrát ve vaší mysli.

Ano, mezi těmito dvěma metodami je rozdíl.

Pokud použijete metodu „Odstranit“, odstraní se buňka a buňka pod ní převezme pozici odstraněné buňky.

Například se podívejte na obrázek níže.

Nyní použiji metodu odstranění k odstranění buňky A1.

Kód:

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

Spustím tento kód a uvidím, co se stane.

Podívejte se, co se tady stalo, jak jsem řekl, když jsem odstranil buňku A1, je odstraněna, ale buňka A2 posune jednu buňku nahoru a obsadila odstraněnou buňku. To povede k nesouladu dat. Buďte opatrní při používání metody Odstranit.

Nyní pro stejná data vymažu metodu.

Kód:

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

Nyní se podívejte, co se stane, když spustím tento kód.

Tento kód právě uvolnil buňku A1, aniž by změnil jiné buňky. Vypadá to správná metoda k odstranění pouze části buněk celého rozsahu dat.

K zachování formátování buněk použijte metodu VBA Clear Contents

Pokud jste pozorovali předchozí dvě metody, tyto dvě metody nejen odstranily nebo odstranily poskytnuté buňky. Rovněž odstranil formátování buněk, které jsme poskytli.

Abychom zachovali formátování buněk, nemusíme používat „Odstranit“ ani „Vymazat“, ale musíme použít metodu VBA „Vymazat obsah“.

V okamžiku, kdy zadáte rozsah buněk pomocí objektu RANGE, zobrazí se všechny vlastnosti a metody s ním spojené.

Můžeme přistupovat k „Odstranit“, můžeme přistupovat k „Vymazat“ a můžeme také použít metody „ClearContents“.

Vyberte tuto metodu.

Kód:

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

Nyní to vymaže obsah z buňky A1 do buňky C3, ale budeme mít veškeré stávající formátování tak, jak je.

Jak vidíte na obrázku výše, máme barvu buněk ve VBA, ohraničení a každé formátování spojené s uvedenými buňkami.

Podobně můžeme vyčistit i obsah ostatních listů.

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

Tím se vymaže obsah buněk A1 až D10 v listu „List1“.

Podobně můžeme odstranit i další otevřené buňky sešitu.

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

Projděte si všechny pracovní listy a jasný obsah konkrétního rozsahu

Předpokládejme, že máte v sešitu mnoho listů a chcete odstranit rozsah buněk od A1 do C15 ve všech listech, které k tomu potřebujeme použít Pro každou smyčku ve VBA.

Níže uvedený kód bude dělat svou práci.

Kód:

 Sub Clear_All () Dim Ws jako list pro každou Ws v ActiveWorkbook.Worksheets Ws.Range ("A1: C15"). ClearContents Next Ws End Sub 

Poznámka: Rozsah buněk můžete změnit podle svého přání.

V případě, že chcete vymazat všechna data listu, musíte použít níže uvedený kód.

Kód:

 Sub Clear_All () Dim Ws jako list pro každou Ws v ActiveWorkbook. Pracovní listy Ws.Cells.ClearContents Další Ws End Sub 

Tuto šablonu VBA Clear Contents Excel si můžete stáhnout zde - VBA Clear Contents Template