VBA Dzēst visu rindu vai kolonnu

Šī apmācība parādīs dažādus veidus, kā izdzēst rindas un kolonnas programmā Excel, izmantojot VBA.

Dzēst visu rindu vai kolonnu

Lai izdzēstu visu rindu VBA, izmantojiet šo koda rindu:

1 Rindas (1). Dzēst

Ievērojiet, ka mēs izmantojam Dzēst metode rindas dzēšanai.

Tā vietā, lai atsauktos uz Rindas objekts, varat atsaukties uz rindām, pamatojoties uz to rindām Diapazona objekts ar Visa rinda:

1 Diapazons ("a1"). EntireRow.Delete

Līdzīgi, lai izdzēstu visu kolonnu, izmantojiet šīs koda rindiņas:

1 Kolonnas (1). Dzēst
1 Diapazons ("a1"). Visa kolonna. Dzēst

Dzēst vairākas rindas vai kolonnas

Izmantojot to pašu loģiku, varat vienlaikus izdzēst vairākas rindas:

1 Rindas ("1: 3"). Dzēst

vai kolonnas:

1 Kolonnas ("A: C"). Dzēst

Ievērojiet šeit, ka mēs atsaucamies uz konkrētiem rindu un kolonnu numuriem / burtiem, ko ieskauj citāti.

Protams, varat atsaukties arī uz diapazona EntireRow:

1 Diapazons ("a1: a10"). EntireRow.Delete

Piezīme. Tālāk redzamie piemēri parāda tikai rindu dzēšanu, taču, kā redzams iepriekš, sintakse ir praktiski identiska kolonnu dzēšanai.

Dzēst tukšas / tukšas rindas

Šis piemērs izdzēsīs rindu, ja visa rinda būs tukša:

1234567891011 Sub DeleteRows_EntireRowBlank ()Dim šūna kā diapazonsKatrai diapazona šūnai ("b2: b20")Ja Application.WorksheetFunction.CountA (cell.EntireRow) = 0 Tadšūna. Visa rinda. DzēstBeigas JaNākamā šūnaBeigu apakš

Tas izmanto Excel darblapas funkciju: COUNTA.

Dzēst rindu, ja šūna ir tukša

Rinda tiks dzēsta, ja konkrētā šīs rindas kolonna ir tukša (šajā gadījumā B sleja):

1 Diapazons ("b3: b20"). SpecialCells (xlCellTypeBlanks) .EntireRow.Delete

Dzēst rindu, pamatojoties uz šūnas vērtību

Tas pārvietosies pa diapazonu un izdzēsīs rindas, ja noteiktā šūnas vērtība šajā rindā saka “dzēst”.

1234567891011 Sub DeleteRowswithSpecificValue ()Dim šūna kā diapazonsKatrai diapazona šūnai ("b2: b20")Ja šūna.Vērtība = "dzēst" Tadšūna. Visa rinda. DzēstBeigas JaNākamā šūnaBeigu apakš

Vairāk Dzēst rindu un kolonnu piemērus

Dzēst dublētas rindas

Šis kods izdzēsīs visas diapazona dublikātu rindas:

1 Diapazons ("b2: c100"). RemoveDuplicates Columns: = 2

Ievērojiet, ka esam iestatījuši kolonnas: = 2. Tas liek VBA pārbaudīt abas pirmās divas datu slejas, apsverot, vai rindas ir dublikāti. Dublikāts tiek atrasts tikai tad, ja abās kolonnās ir dublikātu vērtības.

Ja mēs to būtu iestatījuši uz 1, tad tikai pirmajā rindā tiktu pārbaudītas vērtības.

Dzēst tabulas rindas

Šis kods izdzēsīs tabulas otro rindu, atsaucoties uz ListObjects.

1 ThisWorkbook.Sheets ("Sheet1"). ListObjects ("list1"). ListRows (2) .Delete

Dzēst filtrētās rindas

Lai izdzēstu tikai pēc filtrēšanas redzamās rindas:

1 Diapazons ("b3: b20"). SpecialCells (xlCellTypeVisible) .EntireRow.Delete

Dzēst diapazona rindas

Šis kods izdzēsīs visas diapazona rindas:

1 Diapazons ("a1: a10"). EntireRow.Delete

Dzēst atlasītās rindas

Šis kods izdzēsīs visas atlasītās rindas:

1 Atlase. Visa rinda. Dzēst

Dzēst pēdējo rindu

Tādējādi tiks izdzēsta pēdējā izmantotā B slejas rinda:

1 Šūnas (Rows.Count, 2). Beigt (xlUp) .EntireRow.Delete

Mainot 2 uz 1, varat izdzēst pēdējo izmantoto rindu A slejā utt.

1 Šūnas (Rows.Count, 1). End (xlUp) .EntireRow.Delete

Dzēst kolonnas pēc skaita

Lai izdzēstu kolonnu pēc tās numura, izmantojiet šādu kodu:

1 Kolonnas (2). Dzēst

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave