Ši pamoka parodys įvairius būdus, kaip ištrinti eilutes ir stulpelius „Excel“ naudojant VBA.
Ištrinkite visą eilutę arba stulpelį
Norėdami ištrinti visą eilutę VBA, naudokite šią kodo eilutę:
1 | Eilutės (1). Ištrinti |
Atkreipkite dėmesį, kad naudojame Ištrinti būdas ištrinti eilutę.
Užuot nurodęs Eilučių objektas, galite remtis eilutėmis pagal jų eilutes Diapazono objektas su Visa eilutė:
1 | Diapazonas („a1“). „EntireRow.Delete“ |
Panašiai, jei norite ištrinti visą stulpelį, naudokite šias kodo eilutes:
1 | Stulpeliai (1). Ištrinti |
1 | Diapazonas („a1“). Visa stulpelis. Ištrinti |
Ištrinkite kelias eilutes ar stulpelius
Taikydami tą pačią logiką, taip pat galite ištrinti kelias eilutes vienu metu:
1 | Eilutės („1: 3“). Ištrinti |
arba stulpeliai:
1 | Stulpeliai („A: C“). Ištrinti |
Atkreipkite dėmesį, kad čia nurodome konkrečius eilučių ir stulpelių numerius / raides, apsuptas kabutėmis.
Žinoma, taip pat galite nurodyti diapazono „EntireRow“:
1 | Diapazonas („a1: a10“). „EntireRow.Delete“ |
Pastaba: Toliau pateikti pavyzdžiai rodo tik eilučių trynimą, tačiau, kaip matote aukščiau, sintaksė iš esmės sutampa su stulpelių ištrynimu.
Ištrinti tuščias / tuščias eilutes
Šis pavyzdys ištrins eilutę, jei visa eilutė tuščia:
1234567891011 | Sub DeleteRows_EntireRowBlank ()Šviesos langelis kaip diapazonasKiekvienam diapazono langeliui ("b2: b20")Jei Application.WorksheetFunction.CountA (cell.EntireRow) = 0 Tadaląstelė. Visa eilutė. IštrintiPabaiga JeiKitas langelisPabaiga Sub |
Jame naudojama „Excel“ darbalapio funkcija: COUNTA.
Ištrinkite eilutę, jei langelis tuščias
Tai ištrins eilutę, jei konkretus tos eilutės stulpelis yra tuščias (šiuo atveju B stulpelis):
1 | Diapazonas ("b3: b20"). SpecialCells (xlCellTypeBlanks) .EntireRow.Delete |
Ištrinti eilutę pagal langelio vertę
Tai atliks ciklą per diapazoną ir ištrins eilutes, jei tam tikra tos eilutės langelio reikšmė sako „ištrinti“.
1234567891011 | Sub DeleteRowswithSpecificValue ()Šviesos langelis kaip diapazonasKiekvienam diapazono langeliui ("b2: b20")Jei ląstelė.Vertybė = "ištrinti" Tadaląstelė. Visa eilutė. IštrintiPabaiga JeiKitas langelisPabaiga Sub |
Daugiau Ištrinti eilučių ir stulpelių pavyzdžius
Ištrinti pasikartojančias eilutes
Šis kodas ištrins visas pasikartojančias diapazono eilutes:
1 | Diapazonas ("b2: c100"). RemoveDuplicates Stulpeliai: = 2 |
Atkreipkite dėmesį, kad nustatėme stulpelius: = 2. Tai liepia VBA patikrinti abu pirmuosius du duomenų stulpelius, svarstant, ar eilutės yra pasikartojančios. Dublikatas randamas tik tada, kai abiejų stulpelių vertės yra pasikartojančios.
Jei būtume nustatę tai 1, tik pirmoje eilutėje būtų patikrinta, ar nėra pasikartojančių verčių.
Ištrinti lentelės eilutes
Šis kodas ištrins antrąją lentelės eilutę, nurodydamas „ListObjects“.
1 | ThisWorkbook.Sheets ("Sheet1"). ListObjects ("list1"). ListRows (2) .Delete |
Ištrinti filtruotas eilutes
Jei norite ištrinti tik eilutes, kurios matomos po filtravimo:
1 | Diapazonas („b3: b20“). SpecialCells (xlCellTypeVisible) .EntireRow.Delete |
Ištrinkite diapazono eilutes
Šis kodas ištrins visas diapazono eilutes:
1 | Diapazonas („a1: a10“). „EntireRow.Delete“ |
Ištrinti pasirinktas eilutes
Šis kodas ištrins visas pasirinktas eilutes:
1 | Pasirinkimas. Visa eilutė. Ištrinti |
Ištrinti paskutinę eilutę
Taip bus ištrinta paskutinė B stulpelio eilutė:
1 | Ląstelės (Eilučių skaičius, 2). Pabaiga (xlUp). Visa eilutė. Ištrinti |
Pakeisdami 2 į 1, galite ištrinti paskutinę A eilutės eilutę ir tt:
1 | Ląstelės (Eilučių skaičius, 1). Pabaiga (xlUp). Visa eilutė. Ištrinti |
Ištrinkite stulpelius pagal skaičių
Norėdami ištrinti stulpelį pagal jo numerį, naudokite tokį kodą:
1 | Stulpeliai (2). Ištrinti |