Господа прошу помочь с макросом для автоматического добавления 10 строк при нажатие на кнопку с копированием формул по условию.
На данный момент почти отладил его работу, но встрял на следующем:
1. При первом нажатие добавляется 10-ть строк, а при повторном - всего одна.
2. Новые строки появляются после максимального значения в столбце А, но мне нужно, что бы они добавлялись после последней ячейке таблицы и не важно заполнена она или нет... и вот здесь я совсем встрял...
На данный момент почти отладил его работу, но встрял на следующем:
1. При первом нажатие добавляется 10-ть строк, а при повторном - всего одна.
2. Новые строки появляются после максимального значения в столбце А, но мне нужно, что бы они добавлялись после последней ячейке таблицы и не важно заполнена она или нет... и вот здесь я совсем встрял...
Код |
---|
Sub ADD() Application.ScreenUpdating = False Dim wsheet As Worksheet Dim iLastrow As Integer Dim m As Integer, i As Integer, strNum1 As Integer With ThisWorkbook.Worksheets("Ввод") iLastrow = .Range("A" & .Rows.Count).End(xlUp).Row + 1 m = Application.WorksheetFunction.Max(Range("a21:a" & iLastrow)) For i = iLastrow To 1 Step -10 If Cells(i, 1) = m Then If strNum1 = 0 Then strNum1 = i Rows(strNum1 + 1).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Range(Cells(strNum1, 1), Cells(strNum1, 25)).AutoFill Destination:=Range(Cells(strNum1, 1), Cells(strNum1 + 10, 25)), Type:=xlFillDefault Range(Cells(strNum1 + 1, 1), Cells(strNum1 + 10, 6)).ClearContents Range(Cells(strNum1 + 1, 11), Cells(strNum1 + 10, 11)).ClearContents Range(Cells(strNum1 + 1, 15), Cells(strNum1 + 10, 18)).ClearContents Exit For End If End If Next i End With Application.ScreenUpdating = True End Sub |