Excel VBA na vymazanie obsahu rozsahu (3 vhodné prípady)

  • Zdieľajte To
Hugh West

Ak hľadáte riešenie alebo nejaké špeciálne triky na vymazanie obsahu rozsahu pomocou programu Excel VBA potom ste na správnom mieste. vymazanie obsahu rozsahu pomocou programu Excel VBA . Tento článok vám ukáže každý krok s príslušnými ilustráciami, takže ich môžete ľahko použiť na svoj účel. Prejdime k ústrednej časti článku.

Stiahnite si cvičebnicu

Cvičebnicu si môžete stiahnuť tu:

Vymazať obsah súboru Range.xlsm

Vymazanie obsahu rozsahu pomocou programu Excel VBA: 3 prípady

Predpokladajme, že máte súbor údajov, ktorý možno budete chcieť opätovne použiť na vymazanie existujúcich buniek. Takže môžete použiť kód VBA na vymazanie obsahu súboru Excel. V tejto časti vám ukážem rýchle a jednoduché metódy na vymazanie obsahu rozsahu pomocou programu Excel VBA v operačnom systéme Windows. V tomto článku nájdete podrobné vysvetlenia s jasnými ilustráciami jednotlivých vecí. Použil som Verzia Microsoft 365 tu. Ale môžete použiť akékoľvek iné verzie podľa vašej dostupnosti. Ak niečo z tohto článku nefunguje vo vašej verzii, zanechajte nám komentár.

Prípad 1: Vymazať všetok obsah rozsahu

Na vymazanie obsahu konkrétneho rozsahu v aktuálnom hárku alebo v iných hárkoch, dokonca aj z iných zošitov, môžete použiť príkaz Vymazať aj príkaz Odstrániť. Ukážem vám postupne všetky prípady.

i. Vymazanie obsahu určitého rozsahu buniek

Ak chcete vymazať obsah konkrétneho rozsahu, postupujte podľa nasledujúcich krokov:

📌 Kroky:

  • Najprv prejdite na hornú lištu a stlačte tlačidlo Vývojár , potom stlačte tlačidlo Visual Basic možnosť z ponuky.
  • Môžete použiť ALT + F11 otvoriť "Microsoft Visual Basic pre aplikácie" ak nemáte pridanú kartu Vývojár.

  • Teraz sa otvorí okno s názvom "Microsoft Visual Basic pre aplikácie" Tu v hornej lište ponuky stlačte tlačidlo "Vložiť" Zobrazí sa ponuka. Z nej vyberte položku "Modul" možnosť.

  • Teraz je k dispozícii nová "Modul" sa zobrazí okno. A Vložiť tento kód VBA do poľa.

Použitie príkazu Clear:

 Sub Clear_Contents_Range() Range("B4:D5").Clear End Sub 

  • Ak chcete spustiť kód, prejdite do hornej ponuky, stlačte tlačidlo Spustiť a tu sa otvoria ďalšie možnosti a vybrať . Spustiť podformulár/UserForm tiež môžete jednoducho stlačiť F5 na spustenie kódu.

  • Použitie Jasné príkaz, bunky sa vymažú a odstráni sa aj formátovanie. Prázdne bunky však zostanú.

Použitie príkazu Delete:

Môžete tiež použiť Odstrániť namiesto príkazu Jasné Potom do modulu vložte nasledujúci kód.

 Sub Delete_Contents_Range() Range("B4:D5").Delete End Sub 

Pri použití príkazu Odstrániť sa po spustení kódu vybraný rozsah buniek odstránené úplne.

Prečítajte si viac: Excel VBA: Vymazať obsah, ak bunka obsahuje určité hodnoty

Rozdiel medzi príkazmi Vymazať a Odstrániť v programe Excel VBA:

Hlavný rozdiel medzi Jasné a Odstrániť príkazy v Excel VBA je, že Odstrániť príkaz odstraňuje vybraný rozsah buniek úplne a príkaz Vymazať odstráni len hodnotu bunky a formátovanie, ale prázdna bunka zostane.

ii. Jasný obsah celého pracovného hárku

Ak chcete vymazať všetky bunky pracovného hárka, použite tento kód uvedený nižšie. Tu vymažem obsah pracovného hárka s názvom "1.2". vložte . názov z pracovný list ktoré chcete vymazať v úvodzovkách.

 Sub Delete_Contents_Range() Worksheets("1.2").Cells.Clear End Sub 

Môžete tiež použiť Odstrániť príkaz na odstránenie všetkých použitých buniek v pracovnom hárku. Potom musíte použiť kód uvedený nižšie. Len zmeňte názov pracovného hárku v úvodzovkách.

 Sub Delete_Contents_Range() Worksheets("1.2").Cells.Delete End Sub 

iii. Vymazanie obsahu aktívneho pracovného hárku

Niekedy môžete potrebovať vymazať obsah iba aktívneho pracovného hárka. V takom prípade musíte použiť jednoduchý kód uvedený nižšie:

 Sub Delete_Contents_Range() ActiveSheet.Cells.Clear End Sub 

Na úplné odstránenie buniek z aktívneho pracovného hárka môžete použiť aj príkaz delete. na tento účel vložte do modulu nasledujúci kód.

Sub Odstrániť_obsah_rozsahu()

ActiveSheet.Cells.Delete

Koniec Sub

Prečítajte si viac: Rozdiel medzi odstránením a vymazaním obsahu v programe Excel

Prípad 2: Vymazanie obsahu rozsahu so zachovaním formátovania

V predchádzajúcich metódach ste si všimli, že odstraňujete aj hodnoty buniek spolu s ich formátovaním. Ak teda chcete odstrániť iba hodnoty buniek pri zachovaní formátovania to isté.

i. Obsah špecifického rozsahu

Môžete použiť ClearContents príkaz v Excel VBA na vymazanie obsahu konkrétneho rozsahu. Na tento účel vložte do modulu nasledujúci kód.

 Sub Delete_cell_Keeping_format() Range("B2:D4").ClearContents End Sub 

Výsledkom je, že po spustení kódu sa vybrané bunky vymažú, ale formáty zostanú zachované.

Prečítajte si viac: Ako vymazať bunky s určitou hodnotou v programe Excel (2 spôsoby)

ii. Obsah osobitného pracovného hárku

Ak chcete vymazať obsah konkrétneho pracovného hárka, pričom formáty zostanú rovnaké, musíte použiť nasledujúci kód:

 Sub Delete_Worksheet_Cells_Keeping_format() Worksheets("2.2").Range("B2:D4").ClearContents End Sub 

🔎 Vysvetlenie kódu VBA:

  • Pracovné listy("2.2") volá pracovný hárok s názvom "2.2", ak chcete zavolať pracovný hárok s iným názvom, vložte názov pracovného hárku do úvodzoviek.
  • A, Rozsah("B2:D4") je určenie rozsahu buniek, ktoré budú vymazané. Rozsah buniek môžete upraviť podľa potreby.

iii. Obsah z iného pracovného zošita

Môžete tiež prehľadne . obsah z ďalší zošit pomocou VBA kód. Na to však musíte zachovať tento zošit otvoriť Použite na to nasledujúci kód:

 Sub Delete_Other_Workbook_Cells_Keeping_format() Workbooks("file 1").Worksheets("Sheet1").Range("B3:D12").ClearContents End Sub 

🔎 Vysvetlenie kódu VBA:

  • Zošity("súbor 1") je volanie zošita s názvom "Súbor 1". Pri používaní zošitov musíte názov zošita vložiť do úvodzoviek.
  • Pracovné listy("List1") je volanie pracovného hárku s názvom "List 1". Ak chcete zavolať akýkoľvek iný pracovný hárok, stačí namiesto názvu pracovného hárku "List 1" v tomto kóde.
  • A, Rozsah("B3:D13") je určenie rozsahu buniek, ktoré budú vymazané. Rozsah buniek môžete upraviť podľa potreby.

Prečítajte si viac: Ako vymazať obsah bez odstránenia vzorcov pomocou VBA v programe Excel

Prípad 3: Vymazanie obsahu konkrétneho rozsahu všetkých pracovných hárkov naraz

Ak potrebujete prehľadne . obsah určitého rozsahu viacero pracovných hárkov môžete to urobiť naraz pomocou VBA Na vykonanie tejto úlohy musíte použiť cyklus For. Vložiť tento kód do modulu na vymazanie obsahu rozsahu B2:D4 všetkých pracovných hárkov. Ak chcete zmeniť rozsah buniek, upravte 4. riadok a vložte rozsah údajov.

 Sub Clear_Specific_Range_All_Worksheets() Dim W_S As Worksheet For Each W_S In ActiveWorkbook.Worksheets W_S.Range("B2:D4").ClearContents Next W_S End Sub 

Čo si treba zapamätať

  • Použitie Jasné príkaz vymaže iba hodnoty a formáty buniek.
  • Odstrániť príkaz úplne odstráni bunky.
  • ClearContents Príkaz vymaže iba hodnoty buniek a formáty buniek zostanú nedotknuté.

Záver

V tomto článku ste zistili, ako vymazanie obsahu rozsahu pomocou programu Excel VBA . Dúfam, že vám tento článok pomohol. Môžete navštíviť našu webovú stránku ExcelWIKI Ak sa chcete dozvedieť viac obsahu súvisiaceho s programom Excel, uveďte svoje pripomienky, návrhy alebo otázky v sekcii komentárov nižšie.

Hugh West je veľmi skúsený tréner a analytik Excelu s viac ako 10-ročnými skúsenosťami v tomto odvetví. Má bakalársky titul v odbore účtovníctvo a financie a magisterský titul v odbore Business Administration. Hugh má vášeň pre vyučovanie a vyvinul jedinečný vyučovací prístup, ktorý sa dá ľahko sledovať a pochopiť. Jeho odborné znalosti Excelu pomohli tisíckam študentov a profesionálov na celom svete zlepšiť svoje zručnosti a vyniknúť vo svojej kariére. Hugh sa prostredníctvom svojho blogu delí o svoje znalosti so svetom a ponúka bezplatné výukové programy Excelu a online školenia, ktoré jednotlivcom a firmám pomôžu naplno využiť ich potenciál.