У меня есть формула добавления строк макросом, всё прекрасно работает. Но есть 1 проблема: работа макроса слишком долгая, ну т.е. добавление происходит медленно, видимо у меня слишком много лишних телодвижений. Учитывая то, что у меня может быть добавлено 1000 строк, это пугает.
Поэтому хочу попросить мастеров excel проверить мой макрос, и спросить можно ли его облегчить? Чтобы работа макроса не занимала столько времени.
Реальный файл выложить не смог, так как он весит более 200 кб, поэтому скинул более упрощенный вариант.
Вот сам код добавления строки:
Поэтому хочу попросить мастеров excel проверить мой макрос, и спросить можно ли его облегчить? Чтобы работа макроса не занимала столько времени.
Реальный файл выложить не смог, так как он весит более 200 кб, поэтому скинул более упрощенный вариант.
Вот сам код добавления строки:
Код |
---|
Sub insert_row() ActiveSheet.Unprotect Password:="2211" Dim last_row As Long, a$, b$, c$, d$, e$ last_row = Range("B:B").Find("*", LookIn:=xlValues, SearchDirection:=xlPrevious).Row a = Cells(last_row, 1).FormulaR1C1 b = Cells(last_row, 13).FormulaR1C1 c = Cells(last_row, 14).FormulaR1C1 d = Cells(last_row, 15).FormulaR1C1 e = Cells(last_row, 16).FormulaR1C1 Rows(last_row).Copy Rows(last_row).Insert Shift:=xlDown Cells(last_row, 1).Resize(2).Formula = a Cells(last_row, 13).Resize(2).Formula = b Cells(last_row, 14).Resize(2).Formula = c Cells(last_row, 15).Resize(2).Formula = d Cells(last_row, 16).Resize(2).Formula = e Application.CutCopyMode = 0 Cells(last_row + 1, 2).Select ActiveSheet.Protect Password:="2211", DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFiltering:=True, AllowSorting:=True, UserInterfaceOnly:=True, AllowFormattingCells:=True, AllowFormattingColumns:=True, AllowFormattingRows:=True End Sub |