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 SubPozná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