Брисање или уметање редова на основу вредности ћелије

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

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

Ово ће проћи кроз опсег и избрисати редове ако колона А каже „обриши“.

1234567891011121314151617181920 Суб ДелетеРовсБаседонЦеллВалуе ()'Декларишите променљивеДим ЛастРов Ас Лонг, ФирстРов Ас ЛонгДим Ров Ас ЛонгСа АцтивеСхеет -ом'Дефинишите први и последњи редФирстРов = 1ЛастРов = .УседРанге.Ровс (.УседРанге.Ровс.Цоунт) .Ров„Провлачење кроз редове (од дна до врха)За ред = ЛастРов до ФирстРов Корак -1Иф .Ранге ("А" & Ров) .Валуе = "делете" Затим.Ранге ("А" & Ров) .ЕнтиреРов.ДелетеКрај АкоСледећи редЗавршитиЕнд Суб

Морамо започети петљу са доњег реда јер ће брисање реда пребацити податке, прескачући редове ако петљу вршите одоздо према доле.

Такође, приметите да уместо ручног уноса у последњи ред, израчунавамо последњи коришћени ред.

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

У претходном примеру смо петљали кроз редове, бришући сваки ред који испуњава критеријуме. Алтернативно, можемо користити Екцел -ов аутофилтер за филтрирање редова на основу неких критеријума, а затим избрисати видљиве редове:

12345678910111213141516171819202122232425 Суб ФилтерАндДелетеРовс ()'Прогласи вс променљивомДим вс Ас ВорксхеетПоставите вс = АцтивеСхеет'Ресетујте постојеће филтереНа Грешка Настави даљевс.СховАллДатаОн Еррор ГоТо 0'Примени филтервс.Ранге ("а1: д100"). Поље аутоматског филтрирања: = 1, критеријуми1: = "брисање"'Обриши редовеАпплицатион.ДисплаиАлертс = Нетачновс.Ранге ("а1: д100"). СпециалЦеллс (клЦеллТипеВисибле) .ДелетеАпплицатион.ДисплаиАлертс = Тачно'Очисти филтерНа Грешка Настави даљевс.СховАллДатаОн Еррор ГоТо 0Енд Суб

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

Ово ће проћи кроз опсег и избрисати редове ако ћелија у колони А задовољава одређене критеријуме (<0):

1234567891011121314151617181920 Суб ДелетеРовсБаседонЦеллВалуе ()'Декларишите променљивеДим ЛастРов Ас Лонг, ФирстРов Ас ЛонгДим Ров Ас ЛонгСа АцтивеСхеет -ом'Дефинишите први и последњи редФирстРов = 1ЛастРов = .УседРанге.Ровс (.УседРанге.Ровс.Цоунт) .Ров„Провлачење кроз редове (од дна до врха)За ред = ЛастРов до ФирстРов Корак -1Иф .Ранге ("А" & Ров) .Валуе <0 Затим.Ранге ("А" & Ров) .ЕнтиреРов.ДелетеКрај АкоСледећи редЗавршитиЕнд Суб

ВБА програмирање | Генератор кода ради за вас!

Избриши ред ако је ћелија празна

Ово ће проћи кроз опсег и избрисати ред ако је ћелија у колони А празна:

1234567891011121314151617181920 Суб ДелетеРовсБаседонЦеллВалуе ()'Декларишите променљивеДим ЛастРов Ас Лонг, ФирстРов Ас ЛонгДим Ров Ас ЛонгСа АцтивеСхеет -ом'Дефинишите први и последњи редФирстРов = 1ЛастРов = .УседРанге.Ровс (.УседРанге.Ровс.Цоунт) .Ров„Провлачење кроз редове (од дна до врха)За ред = ЛастРов до ФирстРов Корак -1Иф .Ранге ("А" & Ров) .Валуе = "" Онда.Ранге ("А" & Ров) .ЕнтиреРов.ДелетеКрај АкоСледећи редЗавршитиЕнд Суб

Избришите празан ред

Алтернативно, ако желите да избришете ред ако је цео ред празан (кликните на везу за мало другачији метод), можете користити овај код:

1234567891011121314151617181920 Суб ДелетеБланкРовс ()'Декларишите променљивеДим ЛастРов Ас Лонг, ФирстРов Ас ЛонгДим Ров Ас ЛонгСа АцтивеСхеет -ом'Дефинишите први и последњи редФирстРов = 1ЛастРов = .УседРанге.Ровс (.УседРанге.Ровс.Цоунт) .Ров„Провлачење кроз редове (од дна до врха)За ред = ЛастРов до ФирстРов Корак -1Ако је ВорксхеетФунцтион.ЦоунтА (.Ровс (Ров)) = 0 Затим.Редови (Ред) .ЕнтиреРов.ДелетеКрај АкоСледећи редЗавршитиЕнд Суб

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

Ово ће проћи кроз опсег и избрисати ред ако ћелија у колони А није празна:

1234567891011121314151617181920 Суб ДелетеРовсБаседонЦеллВалуе ()'Декларишите променљивеДим ЛастРов Ас Лонг, ФирстРов Ас ЛонгДим Ров Ас ЛонгСа АцтивеСхеет -ом'Дефинишите први и последњи редФирстРов = 1ЛастРов = .УседРанге.Ровс (.УседРанге.Ровс.Цоунт) .Ров„Провлачење кроз редове (од дна до врха)За ред = ЛастРов до ФирстРов Корак -1Иф .Ранге ("А" & Ров) .Валуе "" Затим.Ранге ("А" & Ров) .ЕнтиреРов.ДелетеКрај АкоСледећи редЗавршитиЕнд Суб

Уморни сте од тражења примера ВБА кода? Испробајте АутоМацро!

Уметните ред на основу вредности ћелије

Ово ће проћи кроз опсег, убацујући редове ако одређена ћелија у том реду каже „убаци“:

1234567891011121314151617181920 Суб ИнсертРовсБаседонЦеллВалуе ()'Декларишите променљивеДим ЛастРов Ас Лонг, ФирстРов Ас ЛонгДим Ров Ас ЛонгСа АцтивеСхеет -ом'Дефинишите први и последњи редФирстРов = 1ЛастРов = .УседРанге.Ровс (.УседРанге.Ровс.Цоунт) .Ров„Провлачење кроз редове (од дна до врха)За ред = ЛастРов до ФирстРов Корак -1Ако .Ранге ("А" & Ров) .Валуе = "инсерт" Затим.Ранге ("А" & Ред) .ЕнтиреРов.ИнсертКрај АкоСледећи редЗавршитиЕнд Суб
wave wave wave wave wave