Acest tutorial va demonstra diferite moduri de a șterge rânduri și coloane în Excel folosind VBA.
Ștergeți întregul rând sau coloana
Pentru a șterge un rând întreg în VBA, utilizați această linie de cod:
1 | Rânduri (1). Ștergeți |
Observați că folosim Șterge metoda de ștergere a unui rând.
În loc să facă referire la Obiectul Rows, puteți face referință la rânduri pe baza lor Obiectul Range cu Întregul rând:
1 | Range („a1”). EntireRow.Delete |
În mod similar pentru a șterge o coloană întreagă, utilizați aceste linii de cod:
1 | Coloane (1). Ștergeți |
1 | Range ("a1"). EntireColumn.Delete |
Ștergeți mai multe rânduri sau coloane
Folosind aceeași logică, puteți șterge mai multe rânduri simultan:
1 | Rânduri („1: 3”). Ștergeți |
sau coloane:
1 | Coloane („A: C”). Ștergeți |
Observați aici că facem referire la numerele / literele specifice rândurilor și coloanelor înconjurate de ghilimele.
Desigur, puteți face referință și la Întregul Rând al unei game:
1 | Range („a1: a10”). EntireRow.Delete |
Notă: Exemplele de mai jos demonstrează doar ștergerea rândurilor, totuși, după cum puteți vedea mai sus, sintaxa este practic identică pentru a șterge coloanele.
Ștergeți rândurile goale / goale
Acest exemplu va șterge un rând dacă întregul rând este gol:
1234567891011 | Sub DeleteRows_EntireRowBlank ()Dim celula ca intervalPentru fiecare celulă din interval ("b2: b20")Dacă Application.WorksheetFunction.CountA (cell.EntireRow) = 0 Atuncicell.EntireRow.EleteEnd IfUrmătoarea celulăSfârșitul Sub |
Folosește funcția de foaie de lucru Excel: COUNTA.
Ștergeți rândul dacă celula este necompletată
Aceasta va șterge un rând dacă o coloană specifică din acel rând este necompletată (în acest caz coloana B):
1 | Gama ("b3: b20"). SpecialCells (xlCellTypeBlanks) .EntireRow.Delete |
Ștergeți rândul pe baza valorii celulei
Aceasta va parcurge un interval și va șterge rândurile dacă o anumită valoare a celulei din acel rând spune „șterge”.
1234567891011 | Sub DeleteRowswithSpecificValue ()Dim celula ca intervalPentru fiecare celulă din interval ("b2: b20")Dacă cell.Value = "șterge" Apoicell.EntireRow.EleteEnd IfUrmătoarea celulăSfârșitul Sub |
Mai multe Ștergeți exemple de rânduri și coloane
Ștergeți rândurile duplicate
Acest cod va șterge toate rândurile duplicate dintr-un interval:
1 | Gama ("b2: c100"). RemoveDuplicates Coloane: = 2 |
Observați că setăm Coloane: = 2. Acest lucru îi spune lui VBA să verifice ambele prime două coloane de date atunci când se ia în considerare dacă rândurile sunt duplicate. Un duplicat este găsit numai atunci când ambele coloane au valori duplicat.
Dacă am fi setat acest lucru la 1, doar primul rând ar fi fost verificat pentru valori duplicat.
Ștergeți rândurile de tabel
Acest cod va șterge al doilea rând dintr-un tabel făcând referință la ListObjects.
1 | ThisWorkbook.Sheets ("Sheet1"). ListObjects ("list1"). ListRows (2). Șterge |
Ștergeți rândurile filtrate
Pentru a șterge numai rândurile care sunt vizibile după filtrare:
1 | Gama ("b3: b20"). SpecialCells (xlCellTypeVisible) .EntireRow.Delete |
Ștergeți rândurile din interval
Acest cod va șterge toate rândurile din interval:
1 | Range („a1: a10”). EntireRow.Delete |
Ștergeți rândurile selectate
Acest cod va șterge toate rândurile selectate:
1 | Selection.EntireRow.Delete |
Ștergeți ultimul rând
Aceasta va șterge ultimul rând utilizat în coloana B:
1 | Celule (Rows.Count, 2) .End (xlUp) .EntireRow.Delete |
Prin schimbarea 2 la 1, puteți șterge ultimul rând utilizat din coloana A, etc.:
1 | Celule (Rows.Count, 1) .End (xlUp) .EntireRow.Delete |
Ștergeți coloanele după număr
Pentru a șterge o coloană după numărul său, utilizați un cod de genul acesta:
1 | Coloane (2). Ștergeți |