Tento tutoriál vám ukáže rôzne spôsoby odstraňovania riadkov a stĺpcov v programe Excel pomocou jazyka VBA.
Odstráňte celý riadok alebo stĺpec
Ak chcete odstrániť celý riadok vo VBA, použite tento riadok kódu:
1 | Riadky (1). Odstrániť |
Všimnite si, že používame Vymazať metóda na odstránenie riadka.
Namiesto odkazovania na Objekt riadkov, môžete odkazovať na riadky na základe ich Objekt dosahu s Celý riadok:
1 | Rozsah („a1“). EntireRow.Delete |
Podobne na odstránenie celého stĺpca použite tieto riadky kódu:
1 | Stĺpce (1). Odstrániť |
1 | Rozsah („a1“). EntireColumn.Delete |
Odstráňte viac riadkov alebo stĺpcov
Podľa rovnakej logiky môžete tiež odstrániť viac riadkov naraz:
1 | Riadky („1: 3“). Odstrániť |
alebo stĺpce:
1 | Stĺpce („A: C“). Odstrániť |
Všimnite si tu, že odkazujeme na konkrétne čísla / písmená riadkov a stĺpcov obklopené úvodzovkami.
Môžete sa samozrejme odvolať aj na celý rad:
1 | Rozsah ("a1: a10"). EntireRow.Delete |
Poznámka: Nasledujúce príklady demonštrujú iba odstraňovanie riadkov, ale ako vidíte vyššie, syntax je prakticky rovnaká ako pri odstraňovaní stĺpcov.
Odstráňte prázdne / prázdne riadky
Tento príklad odstráni riadok, ak je celý riadok prázdny:
1234567891011 | Sub DeleteRows_EntireRowBlank ()Dim bunka ako rozsahPre každú bunku v rozsahu („b2: b20“)Ak Application.WorksheetFunction.CountA (cell.EntireRow) = 0 Potombunka.EntireRow.DeleteKoniec AkĎalšia bunkaKoniec pod |
Využíva funkciu pracovného hárka programu Excel: COUNTA.
Ak je bunka prázdna, odstráňte riadok
Odstráni sa riadok, ak je konkrétny stĺpec v tomto riadku prázdny (v tomto prípade stĺpec B):
1 | Rozsah ("b3: b20"). SpecialCells (xlCellTypeBlanks) .EntireRow.Delete |
Odstráňte riadok podľa hodnoty bunky
Toto sa bude opakovať v rozsahu a odstránia sa riadky, ak určitá hodnota bunky v tomto riadku hovorí „odstrániť“.
1234567891011 | Sub DeleteRowswithSpecificValue ()Dim bunka ako rozsahPre každú bunku v rozsahu („b2: b20“)If cell.Value = "delete" Thenbunka.EntireRow.DeleteKoniec AkĎalšia bunkaKoniec pod |
Viac príkladov odstránenia riadkov a stĺpcov
Odstráňte duplicitné riadky
Tento kód odstráni všetky duplicitné riadky v rozsahu:
1 | Rozsah ("b2: c100"). Odstrániť duplikáty stĺpce: = 2 |
Všimnite si, že sme nastavili stĺpce: = 2. VBA to hovorí, aby skontroloval oba prvé dva stĺpce údajov, keď zvažuje, či sú riadky duplikáty. Duplikát sa nájde iba vtedy, ak majú oba stĺpce duplicitné hodnoty.
Ak by sme to nastavili na 1, skontrolovali by sa duplicitné hodnoty iba v prvom riadku.
Odstráňte riadky tabuľky
Tento kód odstráni druhý riadok v tabuľke odkazom na ListObjects.
1 | ThisWorkbook.Sheets ("Sheet1"). ListObjects ("list1"). ListRows (2) .Delete |
Odstráňte filtrované riadky
Ak chcete odstrániť iba riadky, ktoré sú viditeľné po filtrovaní:
1 | Rozsah ("b3: b20"). Špeciálne bunky (xlCellTypeVisible) .EntireRow.Delete |
Odstráňte riadky v rozsahu
Tento kód odstráni všetky riadky v rozsahu:
1 | Rozsah ("a1: a10"). EntireRow.Delete |
Odstrániť vybraté riadky
Tento kód odstráni všetky vybraté riadky:
1 | Selection.EntireRow.Delete |
Odstrániť posledný riadok
Týmto sa odstráni posledný použitý riadok v stĺpci B:
1 | Bunky (riadky. Počet, 2). Koniec (xlUp). EntireRow. Odstrániť |
Zmenou 2 na 1 môžete odstrániť posledný použitý riadok v stĺpci A atď.:
1 | Bunky (riadky. Počet, 1). Koniec (xlUp). EntireRow. Odstrániť |
Odstráňte stĺpce podľa čísla
Ak chcete odstrániť stĺpec podľa čísla, použite nasledujúci kód:
1 | Stĺpce (2). Odstrániť |