ВБА Избриши редове | Примери за брисање Екцел редова помоћу ВБА

Екцел ВБА Избриши ред

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

Користећи ВБА методу брисања редова, можемо избрисати све празне редове, можемо избрисати ред на основу вредности ћелије, можемо избрисати и цео ред ако је нека од ћелија празна.

У овом чланку ћемо разговарати о методи „ВБА Делете Ред“. Будите заокупљени наредних 15 до 20 минута да бисте научили о концепту.

Како избрисати ред?

Можете да преузмете овај ВБА образац за брисање редова Екцел овде - ВБА Избришите ред за Екцел образац

Пример # 1

У ВБА морамо да поменемо ред који бришемо.

Шифра:

 Суб ДелетеРов_Екампле1 () Ћелије (1, 1) Крај Суб 

Ћелије (1, 1) означавају прву колону првог реда, тј. А1 ћелију. Тада користимо методу „делете“.

Шифра:

 Суб ДелетеРов_Екампле1 () Ћелије (1, 1) .Делете Енд Суб 

Сада ће ово избрисати прву ћелију. Све вредности са десне стране помериће једну ћелију улево.

Пример # 2

Ако желите да избришете цео ред, морамо да користимо својство „ЕнтиреРов“, онда треба да користимо методу „делете“ да избришемо цео ред ћелије коју смо изабрали.

Шифра:

 Под ДелетеРов_Екампле2 () Ћелије (1, 1) .ЕнтиреРов. Делете Енд Суб 

На пример, унео сам неколико знакова у екцел лист на следећи начин.

Сада ако покренем овај код, избрисаће цео ред, а не једну ћелију.

Пример # 3

Ред можемо избрисати на неколико начина. У горњем примеру, избрисали смо ред помоћу својства ЦЕЛЛС, а сада ћемо видети како да га обришемо помоћу својства РОВС.

Сада морамо да поменемо који је то ред који треба да избришемо, рецимо да морамо да избришемо 5. ред.

Сада користите својство „ЕнтиреРов“ својство.

Након избора својства шта треба да радимо тј. Метода. Морамо да избришемо ред.

Шифра:

 Суб ДелетеРов_Екампле3 () Ровс (5) .ЕнтиреРов.Делете Енд Суб 

Дакле, овај код ће избрисати 5. ред.

Пример # 4

Избришите више редова помоћу објекта домета

Како да избришемо више редова?

Објекат ВБА РАНГЕ можемо користити за брисање више од једног реда. Претпоставимо да имате неке вредности од А1 до А6 ћелија.

Сада желим да избришем првих 5 редова, како бих могао да референцирам ове редове помоћу објекта Ранге као „Опсег (“ А1: А5 ”)”

Шифра:

 Суб ДелетеРов_Екампле4 () Опсег ("А1: А5") Крај Суб 

Сада желим да користим реч „ЕнтиреРов“ својство.

Шифра:

 Суб ДелетеРов_Екампле4 () Распон ("А1: А5"). ЕндРов Енд Суб 

У целом овом реду морамо извршити методу брисања, па користите методу Делете.

Шифра:

 Суб ДелетеРов_Екампле4 () Опсег ("А1: А5"). ЕнтиреРов .Делете Енд Суб 

Сада ће ово избрисати изабране редове.

Пример # 5

Избришите редове на основу вредности ћелије

Можемо и ово да користимо „ЕнтиреРов.Делете“ метода за брисање реда на основу вредности ћелије у ВБА. На пример, имам вредности Да и Не од ћелије А1 до А10.

Сада морамо да избришемо редове који имају вредност „Не“. Да бисмо извршили овај задатак, треба да користимо функцију „ИФ“ са петљама како бисмо обрисали све редове који имају вредност „Не“.

Испод ће код обавити посао за нас.

Шифра:

 Суб ДелетеРов_Екампле5 () Дим к као цео број за к = 10 до 1 Корак -1 Ако ћелије (к, 1) .Валуе = "Не" Тада ћелије (к, 1) .ЕнтиреРов.Делете Енд Иф Нект к Енд Суб 

Пример # 6

Избришите све редове празних ћелија

Постоје ситуације у којима морамо да избришемо цео ред ако је нека од ћелија у опсегу празна. На пример, имам доњи скуп података.

Све обојене ћелије су празне, па морам да избришем цео ред. Овај задатак можемо извршити са два скупа кода. Испод је шифра.

Шифра:

 Суб ДелетеРов_Екампле6 () Распон ("А1: Ф10"). Посебне ћелије (клЦеллТипеБланкс) .ЕнтиреРов.Делете Енд Суб 

Ово ће идентификовати празне ћелије у опсегу од А1 до Ф10.АКО ће све пронађене празне ћелије избрисати цео ред.

Проблем овог кода је што ће избрисати само празан ред ћелије само у опсегу од А1 до Ф10, али ако су било које ћелије празне у било којој другој ћелији, неће га избрисати. Имајући ово на уму, написао сам још један код.

Шифра:

 Под ДелетеРов_Екампле7 () Дим РангеТоДелете Ас Ранге Дим ДелетионРанге Ас Ранге Сет РангеТоДелете = Апплицатион.ИнпутБок ("Плеасе селецт тхе ранге", "Бланк Целлс Ровс Делетион", Типе: = 8) Сет ДелетионРанге = РангеТоДелете РангеТоДелете.СпециалЦеллЦеЛееЦеЛеЦеЛеЦеЛеЦеЛеЦеЛеЦеЛеНеЕнЦеллЦеЛеЕнЦеллЦеЛеЕнЦеЛеЕнЦелл. .Избриши крај под 

Када прво покренете овај код, тражиће се да одаберете опсег са оквиром за унос који се појављује испред вас.

Након одабира опсега који треба да кликнете на ОК, избрисаће се сви редови празних ћелија у изабраном опсегу.