See õpetus näitab erinevaid viise Excelis ridade ja veergude kustutamiseks VBA abil.
Kustuta terve rida või veerg
Terve rea kustutamiseks VBA -s kasutage seda koodirida:
1 | Ridad (1). Kustuta |
Pange tähele, et me kasutame Kustuta meetod rea kustutamiseks.
Selle asemel, et viidata Ridade objekt, saate viidata ridadele nende põhjal Vahemiku objekt koos Kogu rida:
1 | Vahemik ("a1"). EntireRow.Delete |
Sarnaselt kogu veeru kustutamiseks kasutage järgmisi koodiridu:
1 | Veerud (1). Kustuta |
1 | Vahemik ("a1"). Kogu veerg. Kustuta |
Kustutage mitu rida või veergu
Sama loogikat kasutades saate kustutada ka mitu rida korraga:
1 | Ridad ("1: 3"). Kustuta |
või veerud:
1 | Veerud ("A: C"). Kustuta |
Pange tähele, et siin viidatakse konkreetsetele ridade ja veergude numbritele / tähtedele, mida ümbritsevad tsitaadid.
Loomulikult saate viidata ka vahemiku EntireRow -le:
1 | Vahemik ("a1: a10"). EntireRow.Delete |
Märkus. Allolevad näited näitavad ainult ridade kustutamist, kuid nagu ülal näete, on süntaks veergude kustutamisel praktiliselt identne.
Kustuta tühjad / tühjad read
See näide kustutab rea, kui kogu rida on tühi:
1234567891011 | Alam DeleteRows_EntireRowBlank ()Hämardage rakk vahemikunaIga vahemiku lahtri kohta ("b2: b20")Kui Application.WorksheetFunction.CountA (cell.EntireRow) = 0 Siiscell.EntireRow.DeleteLõpp KuiJärgmine lahterEnd Sub |
See kasutab Exceli töölehe funktsiooni: COUNTA.
Kustuta rida, kui lahter on tühi
See kustutab rea, kui selle rea konkreetne veerg on tühi (antud juhul veerg B):
1 | Vahemik ("b3: b20"). SpecialCells (xlCellTypeBlanks) .EntireRow.Delete |
Kustuta rida lahtri väärtuse alusel
See liigub läbi vahemiku ja kustutab read, kui selle rea teatud lahtri väärtus ütleb “kustuta”.
1234567891011 | Sub DeleteRowswithSpecificValue ()Hämardage rakk vahemikunaIga vahemiku lahtri kohta ("b2: b20")Kui cell.Value = "kustuta" Siiscell.EntireRow.DeleteLõpp KuiJärgmine lahterEnd Sub |
Veel Kustuta ridade ja veergude näited
Kustuta duplikaadid
See kood kustutab kõik duplikaatridad vahemikust:
1 | Vahemik ("b2: c100"). RemoveDuplicates Veerud: = 2 |
Pange tähele, et seadsime veerud: = 2. See käsib VBA -l kontrollida mõlemat esimest andmeveergu, kui mõelda, kas read on duplikaadid. Duplikaat leitakse ainult siis, kui mõlemal veerul on duplikaatväärtused.
Kui oleksime selle määranud väärtusele 1, oleks duplikaatväärtuste suhtes kontrollitud ainult esimest rida.
Tabeliridade kustutamine
See kood kustutab tabeli teise rea, viidates ListObjects'ile.
1 | ThisWorkbook.Sheets ("Sheet1"). ListObjects ("list1"). ListRows (2) .Delete |
Kustuta filtreeritud read
Ainult pärast filtreerimist nähtavate ridade kustutamiseks toimige järgmiselt.
1 | Vahemik ("b3: b20"). SpecialCells (xlCellTypeVisible) .EntireRow.Delete |
Kustuta vahemiku read
See kood kustutab kõik vahemiku read:
1 | Vahemik ("a1: a10"). EntireRow.Delete |
Kustuta valitud read
See kood kustutab kõik valitud read:
1 | Valik. Kogu rida. Kustuta |
Kustuta viimane rida
See kustutab veerus B viimati kasutatud rea:
1 | Lahtrid (Ridade arv, 2). Lõpp (xlUp). Kogu rida. Kustuta |
Muutes 2 väärtuseks 1, saate kustutada veerus A viimati kasutatud rea jne.
1 | Lahtrid (Rows.Count, 1). End (xlUp) .EntireRow.Delete |
Kustuta veerud numbri järgi
Veeru kustutamiseks selle numbri järgi kasutage järgmist koodi:
1 | Veerud (2). Kustuta |