Ovaj će vodič pokazati različite načine brisanja redaka i stupaca u Excelu pomoću VBA.
Izbrišite cijeli redak ili stupac
Za brisanje cijelog retka u VBA upotrijebite ovaj redak koda:
1 | Redci (1) .Brisati |
Primijetite da koristimo Izbrisati način brisanja retka.
Umjesto pozivanja na Objekti redaka, možete se pozivati na retke na temelju njihovih Objekt dometa s Cijeli red:
1 | Raspon ("a1"). EntireRow.Delete |
Slično za brisanje cijelog stupca, koristite ove retke koda:
1 | Stupci (1) .Brisati |
1 | Raspon ("a1"). Cijela kolona.Delete |
Izbrišite više redaka ili stupaca
Koristeći istu logiku, možete izbrisati i više redaka odjednom:
1 | Redci ("1: 3"). Izbriši |
ili stupce:
1 | Stupci ("A: C"). Izbrišite |
Primijetite da ovdje spominjemo određene brojeve / slova redaka i stupca okružene navodnicima.
Naravno, možete se pozvati i na EntireRow raspona:
1 | Raspon ("a1: a10"). EntireRow.Delete |
Napomena: Primjeri u nastavku prikazuju samo brisanje redaka, međutim, kao što možete vidjeti gore, sintaksa je gotovo identična za brisanje stupaca.
Brisanje praznih / praznih redaka
Ovaj primjer će izbrisati redak ako je cijeli redak prazan:
1234567891011 | Sub DeleteRows_EntireRowBlank ()Prigušena ćelija kao rasponZa svaku ćeliju u rasponu ("b2: b20")Ako je Application.WorksheetFunction.CountA (cell.EntireRow) = 0 Tadacell.EntireRow.DeleteZavrši akoSljedeća ćelijaKraj podm |
Koristi funkciju radnog lista programa Excel: COUNTA.
Izbriši redak ako je ćelija prazna
Ovo će izbrisati redak ako je određeni stupac u tom retku prazan (u ovom slučaju stupac B):
1 | Raspon ("b3: b20"). Posebne ćelije (xlCellTypeBlanks) .EntireRow.Delete |
Brisanje retka na temelju vrijednosti ćelije
Ovo će proći kroz raspon i izbrisati retke ako određena vrijednost ćelije u tom retku kaže "obriši".
1234567891011 | PodizbrišiRowswithSpecificValue ()Prigušena ćelija kao rasponZa svaku ćeliju u rasponu ("b2: b20")Ako cell.Value = "delete" Zatimcell.EntireRow.DeleteZavrši akoSljedeća ćelijaKraj podm |
Više primjera brisanja redaka i stupaca
Brisanje dupliciranih redova
Ovaj će kôd izbrisati sve dvostruke retke u rasponu:
1 | Raspon ("b2: c100"). RemoveDuplicates Stupci: = 2 |
Uočite da smo postavili stupce: = 2. To govori VBA -i da provjeri oba prva dva stupca podataka kada razmatra jesu li retci duplikati. Duplikat se nalazi samo ako oba stupca imaju dvostruke vrijednosti.
Da smo ovo postavili na 1, samo bi se u prvom retku provjerilo ima li dvostrukih vrijednosti.
Izbrišite tablične retke
Ovaj će kôd izbrisati drugi redak u tablici upućivanjem na ListObjects.
1 | ThisWorkbook.Sheets ("Sheet1"). ListObjects ("list1"). ListRows (2) .Delete |
Brisanje filtriranih redaka
Da biste izbrisali samo retke koji su vidljivi nakon filtriranja:
1 | Raspon ("b3: b20"). Posebne ćelije (xlCellTypeVisible) .EntireRow.Delete |
Brisanje redaka u rasponu
Ovaj kôd će izbrisati sve retke u rasponu:
1 | Raspon ("a1: a10"). EntireRow.Delete |
Brisanje odabranih redaka
Ovaj kôd će izbrisati sve odabrane retke:
1 | Selection.EntireRow.Delete |
Izbriši zadnji redak
Time će se izbrisati posljednji korišteni redak u stupcu B:
1 | Ćelije (Redovi.Broj, 2). Kraj (xlUp). Cijeli red.Brisanje |
Promjenom 2 na 1 možete izbrisati zadnji korišteni redak u stupcu A itd.:
1 | Ćelije (Redovi.Broj, 1). Kraj (xlUp) .EntireRow.Delete |
Brisanje stupaca po broju
Da biste izbrisali stupac prema njegovu broju, upotrijebite ovakav kôd:
1 | Stupci (2) .Brisati |