Този урок ще покаже как да използвате VBA за вмъкване на редове и колони в Excel.
За да вмъкнем редове или колони ще използваме Метод на вмъкване.
Поставете единичен ред или колона
Вмъкване на нов ред
За да вмъкнете един ред, можете да използвате обекта Rows:
1 | Редове (4). Вмъкване |
Или можете да използвате Range Object заедно с EntireRow:
1 | Диапазон ("b4"). EntireRow.Insert |
Вмъкване на нова колона
Подобно на вмъкването на редове, можем да използваме обекта Columns, за да вмъкнем колона:
1 | Колони (4). Вмъкване |
Или Range Object, заедно с EntireColumn:
1 | Диапазон ("b4"). EntireColumn.Insert |
Вмъкнете няколко реда или колони
Вмъкване на няколко реда
Когато вмъквате няколко реда с обекта Rows, трябва да въведете редовете в кавички:
1 | Редове ("4: 6"). Вмъкване |
Вмъкването на няколко реда с Range Object работи по същия начин като с един ред:
1 | Диапазон ("b4: b6"). EntireRow.Insert |
Вмъкване на няколко колони
Когато вмъквате няколко колони с обекта Columns, въведете колоната букви в кавички:
1 | Колони ("B: D"). Вмъкване |
Вмъкването на няколко колони с Range Object работи по същия начин като с една колона:
1 | Диапазон ("b4: d4"). EntireColumn.Insert |
Вмъкване - Shift & CopyOrigin
The Метод на вмъкване има два незадължителни аргумента:
- Преместване - В коя посока да изместите клетките
- CopyOrigin - Кое форматиране на клетка да копирате (отгоре, отдолу, отляво или отдясно)
Аргументът Shift е без значение при вмъкване на цели редове или колони. Тя ви позволява само да посочите, за да изместите надолу или надясно:
- xlShiftDown - Преместване на клетките надолу
- xlShiftToRight - Преместване на клетките надясно
Както можете да видите, не можете да се измествате нагоре или надясно.
The CopyOrigin аргументът има два потенциални входа:
- xlFormatFromLeftorAbove - (0) Ново вмъкнатите клетки приемат форматиране от клетки отгоре или вляво
- xlFormatFromRightorBelow (1) Ново вмъкнатите клетки приемат форматиране от клетки отдолу или отдясно.
Нека разгледаме някои примери за CopyOrigin аргумент. Ето нашите първоначални данни:
Този пример ще вмъкне ред, като форматирането се вземе от горния ред.
1 | Редове (5). Вмъкване, xlFormatFromLeftOrAbove |
Този пример ще вмъкне ред, като форматирането ще бъде взето от долния ред.
1 | Редове (5). Вмъкване, xlFormatFromRightOrBelow |
Други примери за вмъкване
Вмъкване на копирани редове или колони
Ако искате да вмъкнете копиран ред, бихте използвали този код:
12 | Обхват ("1: 1"). КопиранеОбхват ("5: 5"). Вмъкване |
Тук копираме ред 1 и го вмъкваме в ред 5.
Вмъкване на редове въз основа на стойността на клетката
Това ще премине през диапазон, вмъквайки редове въз основа на стойностите на клетката:
1234567891011 | Sub InsertRowswithSpecificValue ()Затъмняване на клетката като обхватЗа всяка клетка в обхвата ("b2: b20")Ако cell.Value = "insert" Тогаваcell.EntireRow.InsertКрай АкоСледващата клеткаEnd Sub |
Изтриване на редове или колони
За да изтриете редове или колони, просто използвайте Изтрий метод.
1234567 | Редове (1). ИзтриванеДиапазон ("a1"). EntireRow.DeleteКолони (1). ИзтрийДиапазон ("a1"). Цяла колона. Изтриване |