Како избрисати читав ред у Екцелу помоћу ВБА (примери)

Додавање и брисање редова део је свакодневних уобичајених задатака при раду са Екцелом.

Иако то можете лако учинити са самог радног листа, понекад ћете можда желети да користите ВБА путању за брисање редова у Екцелу. То могу бити брисање одређеног реда, више редова у избору, брисање алтернативних редова или оних који имају одређену вредност.

У овом водичу ћу вам показати како да избришете редове у Екцелу помоћу ВБА (више сценарија).

Па да почнемо!

Избришите читав ред помоћу ВБА

Да бисте избрисали читав ред у Екцелу помоћу ВБА, морате да користите методу ЕнтиреРов.Делете.

На пример, ако желите да избришете цео први ред на радном листу, можете користити доњи код:

Суб ИзбришиЕнтиреРов () Редове (1) .ЕнтиреРов.Делете Енд Суб

Горњи код прво наводи ред који треба избрисати (што се постиже навођењем броја у загради), а затим користи методу ЕнтиреРов.Делете за његово брисање.

Такође можете избрисати више редова навођењем ових редова у коду.

На пример, доњи код ће избрисати ред 1, 5 и 9 на радном листу:

Подизбриши Редове (7) Редове (9). ЕнтиреРов.Делете Ровс (5) .ЕнтиреРов.Делете Ровс (1) .ЕнтиреРов.Делете Енд Суб

Горњи код користи исту логику, где наводи бројеве редова и Екцел ће избрисати ове редове један по један.

ВАЖНО: Када бришете редове са нечим сличним горе наведеном коду, не заборавите да почнете брисање одоздо, а затим идите нагоре. На пример, у случају да почнете од врха и прво избришете први ред, сви редови испод њега би се померили за један ред навише и нумерисање би било искључено (јер би ред 5 постао ред 4 и тако даље)

Избришите све редове у избору

У случају да желите да избришете све редове у изабраном опсегу ћелија, можете користити ВБА макро код у наставку:

Суб ИзбришиЕнтиреРов () Селецтион.ЕнтиреРов.Делете Енд Суб

Горњи код се односи на методу ЕнтиреРов.Делете на читав избор.

Избриши алтернативне редове (или Избриши сваки трећи/четврти/Н -ти ред)

Понекад можете добити испис података у којем је сваки други ред (или трећи, четврти или Н -ти ред) бескористан и треба га избрисати.

Радио сам са финансијским подацима где је сваки други ред био празан и морао се избрисати.

Ово је врста сценарија где ВБА заиста блиста.

Испод је ВБА код који ће проћи кроз све редове у избору и избрисати сваки други ред:

Суб ДелетеАлтернатеРовс () РЦоунт = Селецтион.Ровс.Цоунт Фор и = РЦоунт До 1 Степ -2 Селецтион.Ровс (и) .ЕнтиреРов.Делете Нект и Енд Суб

Дозволите ми да објасним како овај ВБА код функционише.

Прво сам користио променљиву РЦоунт да бисте добили укупан број редова у избору.

Затим сам користио петљу Фор Нект да ово покренем онолико пута колико има редова. На пример, ако има 12 редова, ова петља ће се изводити од 12 до 1 (тј. 12 пута). Важно је покренути ово од последњег реда у избору до првог јер не желимо да се бројеви редова мењају када се ред избрише.

Такође, користи се корак -2 јер морамо избрисати сваки други ред (одоздо према горе). У случају да желите да избришете сваки трећи ред, можете користити -3.

Унутар ВБА петље, употребио сам методу Селецтион.Ровс (и) .ЕнтиреРов.Делете за брисање сваког другог реда.

Избришите празне редове помоћу ВБА

Такође можете користити методу ЕнтиреРов.Делете за брисање свих празних редова.

Испод је ВБА код који ће изабрати празне ћелије у изабраном скупу података и избрисати цео ред.

Суб ДелетеБланкРовс () Селецтион.СпециалЦеллс (клЦеллТипеБланкс) .ЕнтиреРов.Делете Енд Суб

Горњи код користи својство СпециалЦеллс за одабир и брисање свих ћелија које су празне. Ово је исти метод који нам такође омогућава да помоћу дијалога „Иди на посебно“ изаберемо све празне ћелије.

Након што се ове празне ћелије идентификују помоћу СпециалЦелл -а, оне се бришу помоћу методе ЕнтиреРов.Делете.

Напомена: Ова метода бира ћелије које су празне и не проверава да ли је цео ред празан или не. Дакле, ако је било која ћелија празна у низу, ово ће и даље избрисати цео ред.

Избришите редове са одређеном речју/вредношћу

Такође можете користити једноставан ВБА код за пролазак кроз сваку ћелију у изабраном опсегу и брисање свих редова у којима ћелија садржи одређени текст или вредност.

На пример, претпоставимо да имате скуп података и желим да избришем све ћелије које имају текст Штампач у колони 2 избора.

Испод је код који ће то учинити:

Суб ДелетеРовсвитхСпецифицВалуе () За и = Селецтион.Ровс.Цоунт То 1 Степ -1 Иф Целлс (и, 2) .Валуе = "Принтер" Затим ћелије (и, 2) .ЕнтиреРов.Делете Енд Иф Нект и Енд Суб

Горњи код прво броји укупан број редова у избору. Ово ће осигурати да се петља покреће само толико пута. Затим користи петљу „За следеће“ да прође кроз све ћелије у колони 2.

Наредба ИФ ТХЕН ЕЛСЕ се затим користи за проверу вредности у свакој ћелији у колони 2. И у случају да се вредност/текст подудара са наведеним текстом (што је у овом примеру „штампач“).

У овом примеру сам проверио да ли се текст подудара са одређеним низом или не. То такође можете учинити са вредностима. На пример, можете избрисати све редове у којима је продајна вредност мања од 1000 или већа од 1000.

Напомена: Важно је напоменути да је петља покренута од Селецтион.Ровс.Цоунт То 1 да бисте били сигурни да када се ред избрише, то неће утицати на редове изнад њега.

Како се користи овај ВБА код

Сада ћу вам показати како да користите све кодове наведене у овом водичу за брисање целог реда.

Морате да копирате и залепите ове кодове у модул у програму Екцел ВБ Едитор. Када копирате ове кодове, можете покренути макро кодове.

Испод су кораци за копирање и лепљење ових ВБА кодова у модул:

  1. Држите тастер АЛТ и притисните тастер Ф11 (или Функција + Опција + Ф11 на Мацу). Ово ће отворити ВБ Едитор
  2. У ВБ Едитор -у ћете имати истраживач пројекта са леве стране. Ако га не видите, идите на опцију Виев, а затим кликните на Пројецт Екплорер.
  3. Кликните десним тастером миша на било који објекат у Пројецт Екплореру (за радну свеску у којој желите да покренете код).
  4. Идите на Уметни, а затим кликните на Модул. Ово ће уметнути нови модул за радну свеску
  5. Копирајте и залепите горње кодове у модул.

А да бисте покренули ове кодове, можете поставити курсор било где у коду (који желите да покренете) и притиснути тастер Ф5 (или кликнути на зелени троугао на ВБА траци са алаткама).

Такође сам написао детаљан водич о различитим начинима покретања ВБА макро кодова у Екцелу.

У случају да морате често користити било који од ових кодова, можете размислити и о томе да их додате у личну радну свеску за макрое, а затим у КАТ. На овај начин, код ће вам бити доступан у било којој радној свесци једним кликом.

Дакле, ово су били неки ВБА кодови које можете користити за брисање читавих редова у Екцелу (у различитим сценаријима). Иста логика се може применити и у случају да уместо редова желите да избришете колоне (са одговарајућим прилагођавањем у примерима кода).

Надам се да вам је овај водич био користан!

Ви ће помоћи развој сајта, дељење страницу са пријатељима

wave wave wave wave wave