Excel макрос записи строки

Добрый день! Спасибо, что откликнулись. Я вроде описал всё, что я жду от макроса:1 кнопка отвечает за добавление 1 строки выше ячейки, в которой будет находится курсор. Например, курсор находится в ячейке В13 (перед строкой итогов), соответственно выше должна появится (скопироваться и вставиться) строка, которая будет содержать: формулы, формат диапазона А13:М13, а также выпадающий список столбца D.

2 кнопка отвечает за добавление блока строк, эталоном для которого служит диапазон А5:М9 (по умолчанию он должен быть скрыт от пользователя). Принцип такой же, как и у первой кнопки – курсор находится, например в ячейке С15 (после строки итогов), соответственно выше должен появится (скопироваться и вставиться) эталонный диапазон А5:М9.

Что ещё нужно добавить ума не приложу. Крайний макрос срабатывает но, выдаёт ошибку вот в этой строке .Offset(-1).SpecialCells(xlCellTypeConstants, 23).ClearContents.Если удаляю SpecialCells(xlCellTypeConstants, 23) макрос работает, но тогда удаляются все формулы в ячейках, а мне этого не нужно

Вставка диапазона со сдвигом ячеек вправо или вниз методом Insert объекта Range. Вставка и перемещение строк и столбцов из кода VBA Excel. Примеры.

Range.Insert – это метод, который вставляет диапазон пустых ячеек (в том числе одну ячейку) на рабочий лист Excel в указанное место, сдвигая существующие в этом месте ячейки вправо или вниз. Если в буфере обмена содержится объект Range, то вставлен будет он со своими значениями и форматами.

Синтаксис

Expression.Insert(Shift, CopyOrigin)

Expression – выражение (переменная), возвращающее объект Range.

Параметры

Параметр Описание Значения
Shift Необязательный параметр. Определяет направление сдвига ячеек. Если параметр Shift опущен, направление выбирается в зависимости от формы* диапазона. xlShiftDown (-4121) – ячейки сдвигаются вниз;
xlShiftToRight (-4161) – ячейки сдвигаются вправо.
CopyOrigin Необязательный параметр. Определяет: из каких ячеек копировать формат. По умолчанию формат копируется из ячеек сверху или слева. xlFormatFromLeftOrAbove (0) – формат копируется из ячеек сверху или слева;
xlFormatFromRightOrBelow (1) – формат копируется из ячеек снизу или справа.

* Если диапазон горизонтальный или квадратный (количество строк меньше или равно количеству столбцов), ячейки сдвигаются вниз. Если диапазон вертикальный (количество строк больше количества столбцов), ячейки сдвигаются вправо.

Примеры

Простая вставка диапазона

Вставка диапазона ячеек в диапазон «F5:K9» со сдвигом исходных ячеек вправо:

Range(«F5:K9»).Insert Shift:=xlShiftToRight

Если бы параметр Shift не был указан, сдвиг ячеек, по умолчанию, произошел бы вниз, так как диапазон горизонтальный.

Вставка вырезанного диапазона

Вставка диапазона, вырезанного в буфер обмена методом Range.Cut, из буфера обмена со сдвигом ячеек по умолчанию:

Range(«A1:B6»).Cut

Range(«D2»).Insert

Обратите внимание, что при использовании метода Range.Cut, точка вставки (в примере: Range("D2")) не может находится внутри вырезанного диапазона, а также в строке или столбце левой верхней ячейки вырезанного диапазона вне вырезанного диапазона (в примере: строка 1 и столбец «A»).

Вставка скопированного диапазона

Вставка диапазона, скопированного в буфер обмена методом Range.Copy, из буфера обмена со сдвигом ячеек по умолчанию:

Range(«B2:D10»).Copy

Range(«F2»).Insert

Обратите внимание, что при использовании метода Range.Copy, точка вставки (в примере: Range("F2")) не может находится внутри скопированного диапазона, но в строке или столбце левой верхней ячейки скопированного диапазона вне скопированного диапазона находится может.

Вставка и перемещение строк

Вставка одной строки на место пятой строки со сдвигом исходной строки вниз:


Вставка четырех строк на место пятой-восьмой строк со сдвигом исходных строк вниз:


Вставка строк с использованием переменных, указывающих над какой строкой осуществить вставку и количество вставляемых строк:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

Sub Primer1()

Dim n As Long, k As Long, s As String

‘Номер строки, над которой необходимо вставить строки

n = 8

‘Количесто вставляемых строк

k = 4

‘Указываем адрес диапазона строк

s = n & «:» & (n + k 1)

‘Вставляем строки

Rows(s).Insert

End Sub

‘или то же самое с помощью цикла

Sub Primer2()

Dim n As Long, k As Long, i As Long

n = 8

k = 4

    For i = 1 To k

        Rows(n).Insert

    Next

End Sub


Перемещение второй строки на место шестой строки:

Rows(2).Cut

Rows(6).Insert

Вторая строка окажется на месте пятой строки, так как третья строка заместит вырезанную вторую строку, четвертая встанет на место третьей и т.д.


Перемещение шестой строки на место второй строки:

Rows(6).Cut

Rows(2).Insert

В этом случае шестая строка окажется на месте второй строки.

Вставка и перемещение столбцов

Вставка одного столбца на место четвертого столбца со сдвигом исходного столбца вправо:


Вставка трех столбцов на место четвертого-шестого столбцов со сдвигом исходных столбцов вправо:


Перемещение третьего столбца на место седьмого столбца:

Columns(3).Cut

Columns(7).Insert

Третий столбец окажется на месте шестого столбца, так как четвертый столбец заместит вырезанный третий столбец, пятый встанет на место четвертого и т.д.


Перемещение седьмого столбца на место третьего столбца:

Columns(7).Cut

Columns(3).Insert

В этом случае седьмой столбец окажется на месте третьего столбца.


В данном практическом примере приведен код макроса для умной вставки пустых строк между ячейками. Пошаговая инструкция как вставлять строки между объединенными и необъединенными ячейками одновременно для любой таблицы.

Макрос для вставки строк с определенной высотой

В таблице отчета по продажам в розничных точках содержаться объединенные ячейки, как показано ниже на рисунке:

Исходная таблица.

Необходимо экспонировать группы ячеек для каждого штата. Для этого мы добавим по одной пустой строке между каждой группой розничных точек. При этом не имеет значение будет ли содержать группа объединенные ячейки или нет. Ведь некоторые группы состоят из одной строки. А также дополнительно уменьшим высоту этих пустых строк, чтобы внешний вид таблицы был стильным. Выполнить вручную все эти действия: выделение отдельных групп ячеек, вставка между ними пустых строк, а потом изменение высоты для этих же строк – это не рационально использование сил и времени. Особенно если таблица имеет десятки тысяч строк. Лучше написать свой макрос, который сам автоматически и молниеносно выполнит эту рутинную работу за Вас.

Перейдите в режим редактора макросов Visual Basic (ALT+F11):

Basic.

Создайте в нем новый модуль с помощью инструмента: «Insert»-«Module». А потом запишите в него VBA-код самого макроса:

Sub VstavkaStrok()
Dim i As Long
Dim pustroka As Long
For i = Selection.Rows.Count To 2 Step -1
pustroka = Selection(i, 1).Row + 1
ActiveSheet.Rows(pustroka).Insert xlShiftDown
ActiveSheet.Rows(pustroka).RowHeight = 7
ActiveSheet.Rows(pustroka).Borders(xlInsideVertical). _
LineStyle = xlLineStyleNone
ActiveSheet.Rows(pustroka).Borders(xlEdgeLeft). _
LineStyle = xlLineStyleNone
ActiveSheet.Rows(pustroka).Borders(xlEdgeRight). _
LineStyle = xlLineStyleNone
ActiveSheet.Rows(pustroka).Interior. _
ColorIndex = xlColorIndexNone
i = i - Selection(i, 1).MergeArea.Rows.Count + 1
Next
End Sub

VBA code.

Теперь если мы хотим вставить по одной пустой строке между каждой объединенной и необъединенной ячейкой, которые находиться в столбце A? Тогда а в таблице отчета по продажам выделяем диапазон ячеек A:D18 и запускаем наш макрос выбрав инструмент: «РАЗРАБОТЧИК»-«Код»-«Макросы»-«VstavkaStrok»-«Выполнить». После запуска макроса таблица будет выглядеть как показано на рисунке:

Пример.

Сначала в коде объявлены две переменные:

  1. i – переменная выполняет роль счетчика в цикле.
  2. pustroka – переменная будет хранить в себе очередной номер для каждой строки выделенного диапазона.

В макросе находиться цикл, который запускает целый ряд инструкций для каждой строки в выделенном диапазоне ячеек. Направление цикла идет с нижней строки выделения к верхней.

  1. В первой инструкции мы присваиваем для переменной pustroka номер строки которая находиться под текущей строкой.
  2. Следующая инструкция добавляет пустую строку с высотой в 7 пикселей.
  3. Удаляются в добавленной строке все вертикальные границы, а также заливка.
  4. Уменьшается значение переменной i на количество строк, которые охватывает текущая объединенная ячейка, находящаяся в первом столбце выделенного диапазона.



Умная вставка строк с помощью макроса

Если же мы хотим экспонировать только самые большие группы. Допустим Вы желаете сделать так, чтобы макросом были вставлены пустые строки только после объединенных ячеек в столбце A, которые охватывают много строк. И не вставлять пустые строки после необъединенных ячеек или тех объединенных ячеек, которые охватывают не более 1-ой строки. Тогда после строки в коде макроса где описано начало цикла добавляем строку кода с условной инструкцией:

If Selection(i, 1).MergeArea.Rows.Count <> 1 Then

Также перед инструкцией конца цикла Next следует вставить инструкцию конца условия – End If.

Обратите внимание! Параметр условия для игнорирования объединенных ячеек с определенным количеством озвучиваемых строк можно будет даже настраивать, изменяя число после оператора сравнения.

Такая модификация кода макроса внутри цикла будет следить за тем применять ли ряд инструкций к текущей строке или игнорировать их на данном этапе прохода по срокам. Если же текущая строка не содержит необъединенной ячейки или объединенная ячейка охватывает более чем 1-ну строку, тогда для нее применяться все инструкции форматирования. Полная версия модифицированного года выглядит так:

Sub VstavkaStrok1()
Dim i As Long
Dim pustroka As Long
For i = Selection.Rows.Count To 2 Step -1
  If Selection(i, 1).MergeArea.Rows.Count <> 1 Then
  pustroka = Selection(i, 1).Row + 1
  ActiveSheet.Rows(pustroka).Insert xlShiftDown
  ActiveSheet.Rows(pustroka).RowHeight = 7
  ActiveSheet.Rows(pustroka).Borders(xlInsideVertical). _
  LineStyle = xlLineStyleNone
  ActiveSheet.Rows(pustroka).Borders(xlEdgeLeft). _
  LineStyle = xlLineStyleNone
  ActiveSheet.Rows(pustroka).Borders(xlEdgeRight). _
  LineStyle = xlLineStyleNone
  ActiveSheet.Rows(pustroka).Interior. _
  ColorIndex = xlColorIndexNone
  i = i - Selection(i, 1).MergeArea.Rows.Count + 1
  End If
Next
End Sub

Результат автоматического форматирования таблицы отчета с учетом новых условий в коде макроса:

Умная вставка.

Как видите с помощью макросов таблицы любых объемов данных можно форматировать в один клик мышкой.

  1. Image titled 12824869 1

    1

    Open your project in Excel. To do this, double-click the Excel document that contains your data in Finder (Macs) or File Explorer (Windows). Alternatively, if you already have Excel open, click File > Open and select the file that has your data.

  2. Image titled 12824869 2

    2

    Make sure the Developer tab is displayed on your editing ribbon. If it isn’t and you’re using Windows, go to the File tab and click Options > Customize ribbon. Under «Main tabs'» check the box next to «Developer.»

    • If you’re using a Mac, enable the Developer tab by clicking the Excel menu at the top of the screen and selecting Preferences. Click Ribbon & Toolbar, check the «Developer» box in the «Customize this Ribbon» category, and click Save.

    Advertisement

  3. Image titled 12824869 3

    3

    Open the VBA editor. Click the Developer tab and select Visual Basic to do so. Alternatively, you can press Alt + F11.

  4. Image titled 12824869 4

    4

    Right-click a sheet. In the vertical menu on the left side of the window, you’ll see a list of your workbook’s sheets. Right-click on any of these to get another drop-down menu.

  5. Image titled 12824869 5

    5

    Hover your cursor over Insert and click Module. When you hover over Insert, a menu will pop out to the right of the menu. Clicking on Module will create a space for you to enter a VBA code and run it.

  6. Image titled 12824869 6

    6

    Enter this code into your VBA window:

    Sub Insert_Rows_Loop()
         Dim CurrentSheet As Object
    
         ' Loop through all selected sheets.
         For Each CurrentSheet In ActiveWindow.SelectedSheets
            ' Insert 5 rows at top of each sheet.
            CurrentSheet.Range("a1:a5").EntireRow.Insert
         Next CurrentSheet
    End Sub
    
    • With this code, you’ll be inserting rows starting at A1 and ending at A5—that’s 5 empty new rows at the top of the sheet.[1]
      You can replace these cell addresses with the location into which you want to place the code, such as beginning with the last row in the sheet to any ending point.
  7. Image titled 12824869 7

    7

    Press F5. Alternatively, you can click the green Play icon above the VB editor writing space.

  8. Image titled 12824869 8

    8

    Click OK to continue. This adds the rows to your sheet.

  9. Advertisement

  1. Image titled 12824869 9

    1

    Open your project in Excel. To do this, double-click the Excel document that contains your data in Finder (Macs) or File Explorer (Windows). Alternatively, if you already have Excel open, click File > Open and select the file.

    • Use this method if you want to learn how to copy existing formulas into new rows you add to your data.
  2. Image titled 12824869 10

    2

    Insert a row inside your data. The keyboard shortcut you’ll use can only add a formula from the row above it, so make sure you insert the row in the middle or the bottom of your data collection.

    • To insert a row, right-click the row below where you want the new row to be added, then click Insert.
  3. Image titled 12824869 11

    3

    Click to select the cell in the new row where you want to include the formula. Remember, this keyboard shortcut will copy the formula from the cell above to the cell you have selected.

    • The cell will highlight to indicate that it is selected.
  4. Image titled 12824869 12

    4

    Press Ctrl+D. The shortcut is the same for Mac and Windows and will fill the formula down from the cell above.
    [2]

  5. Advertisement

Ask a Question

200 characters left

Include your email address to get a message when this question is answered.

Submit

Advertisement

Thanks for submitting a tip for review!

About This Article

Article SummaryX

1. Open your project in Excel.

2. Insert a row inside your data.

3. Click to select the cell in the new row where you want to include the formula.
4. Press Crtl + D.

Did this summary help you?

Thanks to all authors for creating a page that has been read 34,504 times.

Is this article up to date?

0 / 0 / 0

Регистрация: 23.12.2012

Сообщений: 15

1

23.12.2012, 00:31. Показов 40216. Ответов 85


Студворк — интернет-сервис помощи студентам

Здравствуйте!

Прошу вас помочь, сам я точно не справлюсь!!

В таблице, скажем, из 4-х столбцов (A,B,C,D) необходимо добавить строку снизу. При этом по столбцу A происходит автоматическая пере-нумерация. а последняя строка Итого: не удаляется. если можно

Прикрепил файл, содержащий таблицу. В силу своих возможностей в ней сделал макросы для Удаления строк. А со Вставками большой ступор. Смог только частично написать вставку снизу, но как сделать автоматическую нумерацию и формулу не знаю.

Заранее благодарен!



0



Alex77755

11482 / 3773 / 677

Регистрация: 13.02.2009

Сообщений: 11,145

23.12.2012, 13:07

2

Только откажись от объединения ячеек

Visual Basic
1
2
3
4
5
6
7
8
9
Sub Макрос1()
Dim L
L = 12
Do While Cells(L, 1) <> Empty
L = L + 1
Loop
Rows(L & ":" & L).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Cells(L, 1) = Cells(L - 1, 1) + 1
End Sub

Добавлено через 1 минуту
Искать циклом последнюю строку пришлось из-за того, что ниже таблицы строки заняты



1



Hugo121

6875 / 2807 / 533

Регистрация: 19.10.2012

Сообщений: 8,562

23.12.2012, 13:39

3

Можно не убирать объединение, и без цикла:

Visual Basic
1
2
3
4
5
6
Sub tt()
Dim l
l = Range("A12").End(xlDown).Row
Rows(l & ":" & l).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Cells(l, 1) = Cells(l - 1, 1) + 1
End Sub

Там только рамка пропадает — ну это можно ещё пару строк дописать — форматировать Cells(l, 1)



1



0 / 0 / 0

Регистрация: 23.12.2012

Сообщений: 15

23.12.2012, 13:46

 [ТС]

4

Ребят вы не могли бы скинуть документ который вы сделали…я даже не знаю куда это надо ввести…пожалуйста помогите…..заранее благодарен



0



11482 / 3773 / 677

Регистрация: 13.02.2009

Сообщений: 11,145

23.12.2012, 13:52

5

Цитата
Сообщение от Hugo121
Посмотреть сообщение

Можно не убирать объединение, и без цикла:

Можно, наверное.
Только долго крутить скрол в поисках вставленой строки

Миниатюры

Макросы вставки строки снизу в таблице Excel
 



0



11482 / 3773 / 677

Регистрация: 13.02.2009

Сообщений: 11,145

23.12.2012, 13:54

6

Я к тому, что делал не на отвлечённой книге, а на конкретной

Миниатюры

Макросы вставки строки снизу в таблице Excel
 



0



0 / 0 / 0

Регистрация: 23.12.2012

Сообщений: 15

23.12.2012, 14:02

 [ТС]

7

это надо просто вставить туда,…..



0



11482 / 3773 / 677

Регистрация: 13.02.2009

Сообщений: 11,145

23.12.2012, 14:05

8

В силу своих возможностей в ней сделал макросы для Удаления строк

А где ж ты их делал раньше?



0



0 / 0 / 0

Регистрация: 23.12.2012

Сообщений: 15

23.12.2012, 14:06

 [ТС]

9

я просто вставил кнопки и назначал макросы…а как вы, я не умею



0



6875 / 2807 / 533

Регистрация: 19.10.2012

Сообщений: 8,562

23.12.2012, 14:06

10

Алексей, я тоже делал на конкретной. Мистика…



0



0 / 0 / 0

Регистрация: 23.12.2012

Сообщений: 15

23.12.2012, 14:13

 [ТС]

11

если можешь скинь мне готовый файл,… пожалуйста

Добавлено через 5 минут
кроме строки итого: можно сделать макрос для удаление строк



0



6875 / 2807 / 533

Регистрация: 19.10.2012

Сообщений: 8,562

23.12.2012, 14:14

12

См. первую страницу, в 15:06

Добавлено через 41 секунду
Удаления каких строк? Вообще конечно можно….



0



0 / 0 / 0

Регистрация: 23.12.2012

Сообщений: 15

23.12.2012, 14:15

 [ТС]

13

кроме строки итого:



0



11482 / 3773 / 677

Регистрация: 13.02.2009

Сообщений: 11,145

23.12.2012, 14:16

14

Мистика не иначе!

Кликните здесь для просмотра всего текста

Я Александр



0



0 / 0 / 0

Регистрация: 23.12.2012

Сообщений: 15

23.12.2012, 14:21

 [ТС]

15

Александр! когда нажимаю кнопку Добавить или удалить…выводит не удается выполнить макрос..Возможно, этот макрос отсутствует в текущей книге либо все макросы отключены



0



11482 / 3773 / 677

Регистрация: 13.02.2009

Сообщений: 11,145

23.12.2012, 14:22

16

Позор на мою седую голову: не в тот лист макрос вставил
так я кнопкам не назначал



0



0 / 0 / 0

Регистрация: 23.12.2012

Сообщений: 15

23.12.2012, 14:22

 [ТС]

17

в смысле



0



6875 / 2807 / 533

Регистрация: 19.10.2012

Сообщений: 8,562

23.12.2012, 14:23

18

tt & ttt



0



6875 / 2807 / 533

Регистрация: 19.10.2012

Сообщений: 8,562

23.12.2012, 14:24

19

Упс, Александр, извиняюсь



0



0 / 0 / 0

Регистрация: 23.12.2012

Сообщений: 15

23.12.2012, 14:25

 [ТС]

20

Hugo121, а по одной строки удалить получиться,…



0



  • Excel VBA Вставить строку

Excel VBA Вставить строку

Поскольку в этом слове есть две вещи, одна — VBA, а другая — Insert Row. В этом я объясню, как вставить строку в Excel, используя VBA (Visual Basic для приложений).

VBA — это язык программирования для тех, кто работает в Excel и других программах Office, поэтому можно автоматизировать задачи в Excel, написав так называемые макросы. Используя кодирование VBA, мы можем выполнять практически все задачи, которые мы выполняем в Excel, так как мы можем копировать, вставлять, удалять и т. Д.

Вставить строку — используется для вставки строки в Excel между другой строкой с помощью автоматизации, т.е. одним щелчком мыши.

Предположим, что мы вводим данные сотрудника в Excel, и мы пропустили некоторых сотрудников и хотим вставить данные недостающих между ними, поэтому нам нужно создать пробел и вставить строку для ввода их данных. Вместо вставки строки одна за другой мы можем автоматизировать задачу вставки строк с использованием VBA и создания макросов.

Есть много способов, с помощью которых мы можем вставить строки, используя кодирование VBA. Функция, используемая для вставки строки в VBA:

Диапазон (). Ряд (). EntireRow.Insert

Давайте рассмотрим, у нас есть набор данных, который состоит из столбцов, таких как Имя клиента , Продукт, Продажи, Количество, Стоимость доставки, Приоритет заказа.

Предположим, что нам нужно сместить столбцы вниз, чтобы вставить 3 новые строки между 3 и 4, чтобы вставить новую отсутствующую запись. Вместо того, чтобы вставлять строку один за другим, мы автоматизируем это, чтобы вставить все 3 строки одним щелчком мыши.

Как вставить строки в Excel VBA?

Ниже приведены различные примеры вставки строк в Excel с использованием кода VBA.

Вы можете скачать этот шаблон Excel для вставки строк VBA здесь — Шаблон Excel для вставки строк VBA

Пример № 1 — Использование всей строки

Выполните следующие шаги, чтобы вставить строки в Excel, используя код VBA.

Шаг 1: Для создания макроса нам нужно выбрать вкладку «Разработчик».

Шаг 2. После открытия вкладки «Разработчик» вставьте кнопку из группы «Элементы управления». Нажмите « Вставить» и выберите первый вариант из элементов управления ActiveX. Как вы можете видеть эту командную кнопку .

Шаг 3: Перетащите стрелку в любую ячейку, чтобы создать командную кнопку.

Шаг 4: Чтобы войти в функцию «Вставка», щелкните правой кнопкой мыши на кнопке «Командный», т. Е. Вставьте 3 строки и нажмите « Просмотреть код»

Шаг 5: Когда вы нажимаете на Просмотр кода, появляется следующий код.

Код:

 Частный Sub CommandButton1_Click () End Sub 

Шаг 6: Мы должны написать наш код INSERT ROW. Как упоминалось ранее, мы должны использовать функцию Rows.EntireRow с RANGE в VBA. В этом коде мы должны вставить 3 между 3- м и 4- м .

Код:

 Private Sub CommandButton1_Click () Диапазон ("A3"). Строки ("3: 5"). CompleteRow.Insert End Sub 

В приведенной выше строке кода A3 — это столбец, в который мы должны вставить строку, а строки (3: 5) — то, что мы должны вставить 3 новые строки.

Шаг 7: Запустите код, нажав на кнопку « Вставить 3 строки» .

Пример № 2 — Использование номеров строк

Точно так же мы напишем код для вставки 2 строк одним нажатием кнопки.

В этом, мы должны упомянуть строку от начального ряда до конечного номера строки, используя RANGE, за которым следует INSERT, который вставит строки.

Код:

 Частный саб Диапазон CommandButton2_Click () ("3: 4"). Вставить конечный саб 

Когда мы нажимаем кнопку «Вставить 2 строки», мы видим, что 2 строки были вставлены между 3- й и 4- й строкой.

Точно так же мы можем настроить нашу функцию, чтобы вставить столько строк, сколько сможем.

Пример № 3 — Использование активной ячейки

Активная ячейка означает ячейку, которая выбрана в данный момент. Мы будем использовать активную ячейку для вставки строк. Предположим, что мы находимся в ячейке B3 и хотим вставить ячейку над ней, поэтому мы будем использовать свойство active cell. Мы будем использовать следующий код для активной ячейки.

Код:

 Закрытая подпрограмма CommandButton3_Click () ActiveCell.EntireRow.Insert End Sub 

Когда мы нажимаем кнопку «Активное свойство ячейки», мы видим, что одна ячейка вставляется над выбранной ячейкой. Выше мы выбрали B5, а ниже мы видим, что над ним вставлена ​​одна строка.

Пример № 4 — Использование активной ячейки со смещением

Предположим, мы хотим вставить строку после 3 строк активной ячейки, для этого мы будем использовать функцию OFFSET. Предположим, мы находимся в ячейке B4 и должны вставить строку после 2 строк, мы будем использовать этот код.

Код:

 Закрытая подпрограмма CommandButton4_Click () ActiveCell.Offset (2, 0) .EntireRow.Insert End Sub 

Когда мы нажимаем кнопку «Активная ячейка с использованием смещения», в B6 вставляется одна строка .

То, что нужно запомнить

  • Он используется для вставки строк в Excel, автоматизируя его.
  • Вставка строки VBA используется с объектом RANGE в VBA.
  • Перед началом работы включите «Включить все макросы» в настройках макроса.

Рекомендуемые статьи

Это руководство по VBA Insert Row. Здесь мы обсудим, как вставить строку в Excel, используя код VBA, а также с практическими примерами и загружаемым шаблоном Excel. Вы также можете посмотреть следующие статьи, чтобы узнать больше —

  1. Примеры функции VBA GetObject
  2. Excel Вставка нескольких строк (шаблон Excel)
  3. Как использовать функцию VBA StrConv?
  4. Руководство по Excel Вставить ярлык строки

Понравилась статья? Поделить с друзьями:
  • Excel макрос заменить символ
  • Excel макрос замена точки на запятую
  • Excel макрос замена символов
  • Excel макрос заливка ячейки цветом
  • Excel макрос закрыть окно