VBA Изтриване на цял ред или колона

Този урок ще демонстрира различни начини за изтриване на редове и колони в Excel с помощта на VBA.

Изтриване на цял ред или колона

За да изтриете цял ред във VBA, използвайте този ред код:

1 Редове (1). Изтриване

Забележете, че използваме Изтрий метод за изтриване на ред.

Вместо да се позовава на Редове обект, можете да се позовавате на редове въз основа на техните Range Object с EntireRow:

1 Диапазон ("a1"). EntireRow.Delete

По същия начин, за да изтриете цяла колона, използвайте тези редове код:

1 Колони (1). Изтрий
1 Диапазон ("a1"). Цяла колона. Изтриване

Изтриване на няколко реда или колони

Използвайки същата логика, можете също да изтриете няколко реда наведнъж:

1 Редове („1: 3“). Изтриване

или колони:

1 Колони ("A: C"). Изтриване

Забележете, тук се позоваваме на конкретните номера / букви на редове и колони, заобиколени от кавички.

Разбира се, можете също така да се позовавате на EntireRow на диапазон:

1 Диапазон ("a1: a10"). EntireRow.Delete

Забележка: Примерите по -долу демонстрират само изтриване на редове, но както можете да видите по -горе, синтаксисът е почти идентичен за изтриване на колони.

Изтриване на празни / празни редове

Този пример ще изтрие ред, ако целият ред е празен:

1234567891011 Sub DeleteRows_EntireRowBlank ()Затъмняване на клетката като обхватЗа всяка клетка в обхвата ("b2: b20")Ако Application.WorksheetFunction.CountA (cell.EntireRow) = 0 Тогаваcell.EntireRow.DeleteКрай АкоСледващата клеткаEnd Sub

Той използва функцията на работния лист на Excel: COUNTA.

Изтриване на ред, ако клетката е празна

Това ще изтрие ред, ако конкретна колона в този ред е празна (в този случай колона B):

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

Изтриване на ред въз основа на стойността на клетката

Това ще премине през диапазон и ще изтрие редове, ако определена стойност на клетката в този ред казва „изтриване“.

1234567891011 Sub DeleteRowswithSpecificValue ()Затъмняване на клетката като обхватЗа всяка клетка в обхвата ("b2: b20")Ако cell.Value = "изтриване" Тогаваcell.EntireRow.DeleteКрай АкоСледващата клеткаEnd Sub

Още примери за изтриване на редове и колони

Изтриване на дублирани редове

Този код ще изтрие всички дублирани редове в диапазон:

1 Диапазон ("b2: c100"). RemoveDuplicates колони: = 2

Забележете, че задаваме колони: = 2. Това казва на VBA да проверява и първите две колони с данни, когато обмисля дали редовете са дубликати. Дубликат се открива само когато и двете колони имат дублирани стойности.

Ако бяхме задали това на 1, само първият ред щеше да бъде проверен за дублиращи се стойности.

Изтрийте редовете на таблицата

Този код ще изтрие втория ред в таблица, като се позовава на ListObjects.

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

Изтриване на филтрирани редове

За да изтриете само редове, които са видими след филтриране:

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

Изтриване на редове в диапазон

Този код ще изтрие всички редове в обхвата:

1 Диапазон ("a1: a10"). EntireRow.Delete

Изтриване на избрани редове

Този код ще изтрие всички избрани редове:

1 Selection.EntireRow.Delete

Изтриване на последния ред

Това ще изтрие последния използван ред в колона B:

1 Клетки (Rows.Count, 2) .End (xlUp) .EntireRow.Delete

Като промените 2 на 1, можете да изтриете последния използван ред в колона А и т.н.

1 Клетки (Rows.Count, 1) .End (xlUp) .EntireRow.Delete

Изтриване на колони по номер

За да изтриете колона по нейния номер, използвайте код като този:

1 Колони (2). Изтрий

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave