Очень прощу помощи в корректировке макроса.
Он состоит из 2 макросов
1. Отображает и скрывает данные на листах (2,3,4,5,6,7,8,9,10,11,12,13,14) с последующей их печатью в ПДФ - макрос записал рекордером
2. Копирует данные "ДанныеАОСР" (ВспомДляРеестраАОСР!$F$10:$K$178) на лист "РеестрАОСР" с поиском первой пустой строки в столбце "F" - данный макрос нашел тут на форуме, он не мой. Пытался его переделать под свой файл.
Второй макрос внедрен в первый и неудачно, выдает ошибку в строчке
Range(Cells(FreeRow, 1), Cells(FreeRow + LastRow - 3, 6)).Value = Range(.Cells(3, 1), .Cells(LastRow, 6)).Value
Файл выложить не могу, очень огромный
Код |
---|
Sub Скрыть_Печать_АОС() ' ' Скрыть_Печать_АОС Макрос ' Обновления скрыть в АОСР и печать в пдф ' ' Сочетание клавиш: Ctrl+х ' Sheets("2").Select ActiveSheet.Range("$DJ$1:$DL$256").AutoFilter Field:=2 ActiveSheet.Range("$DJ$1:$DL$256").AutoFilter Field:=2, Criteria1:="=" Sheets("3").Select ActiveSheet.Range("$DJ$1:$DL$256").AutoFilter Field:=2 ActiveSheet.Range("$DJ$1:$DL$256").AutoFilter Field:=2, Criteria1:="=" Sheets("4").Select ActiveSheet.Range("$DJ$1:$DL$256").AutoFilter Field:=2 ActiveSheet.Range("$DJ$1:$DL$256").AutoFilter Field:=2, Criteria1:="=" Sheets("5").Select ActiveSheet.Range("$DJ$1:$DL$256").AutoFilter Field:=2 ActiveSheet.Range("$DJ$1:$DL$256").AutoFilter Field:=2, Criteria1:="=" Sheets("6").Select ActiveSheet.Range("$DJ$1:$DL$256").AutoFilter Field:=2 ActiveSheet.Range("$DJ$1:$DL$256").AutoFilter Field:=2, Criteria1:="=" Sheets("7").Select ActiveSheet.Range("$DJ$1:$DL$256").AutoFilter Field:=2 ActiveSheet.Range("$DJ$1:$DL$256").AutoFilter Field:=2, Criteria1:="=" Sheets("8").Select ActiveSheet.Range("$DJ$1:$DL$256").AutoFilter Field:=2 ActiveSheet.Range("$DJ$1:$DL$256").AutoFilter Field:=2, Criteria1:="=" Sheets("9").Select ActiveSheet.Range("$DJ$1:$DL$256").AutoFilter Field:=2 ActiveSheet.Range("$DJ$1:$DL$256").AutoFilter Field:=2, Criteria1:="=" Sheets("10").Select ActiveSheet.Range("$DJ$1:$DL$256").AutoFilter Field:=2 ActiveSheet.Range("$DJ$1:$DL$256").AutoFilter Field:=2, Criteria1:="=" Sheets("11").Select ActiveSheet.Range("$DJ$1:$DL$256").AutoFilter Field:=2 ActiveSheet.Range("$DJ$1:$DL$256").AutoFilter Field:=2, Criteria1:="=" Sheets("12").Select ActiveSheet.Range("$DJ$1:$DL$256").AutoFilter Field:=2 ActiveSheet.Range("$DJ$1:$DL$256").AutoFilter Field:=2, Criteria1:="=" Sheets("13").Select ActiveSheet.Range("$DJ$1:$DL$256").AutoFilter Field:=2 ActiveSheet.Range("$DJ$1:$DL$256").AutoFilter Field:=2, Criteria1:="=" Sheets("14").Select ActiveSheet.Range("$DJ$1:$DL$256").AutoFilter Field:=2 ActiveSheet.Range("$DJ$1:$DL$256").AutoFilter Field:=2, Criteria1:="=" Dim LastRow As Long, i As Long, FreeRow As Long FreeRow = Cells(Rows.Count, 2).End(xlUp).Row + 1 With Sheets("ВспомДляРеестраАОСР") LastRow = .Cells(Rows.Count, 2).End(xlUp).Row For i = 2 To LastRow If .Cells(i, 2).Value <> "" Then LastRow = i Else Exit For End If Next Range(Cells(FreeRow, 1), Cells(FreeRow + LastRow - 3, 6)).Value = Range(.Cells(3, 1), .Cells(LastRow, 6)).Value End With 'Application.ScreenUpdating = False 'Sheets("ВспомДляРеестраАОСР").Select ' Range("ДанныеАОСР").Select ' Selection.Copy ' LastRow = Worksheets("РеестрАОСР").Range("F10000").End(xlUp).Row ' Worksheets("РеестрАОСР").Cells(LastRow + 1, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ ' :=False, Transpose:=False 'Sheets("РеестрАОСР").Select 'ActiveCell.Select 'Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'Selection.NumberFormat = "0.00" ' Application.ScreenUpdating = True Sheets(Array("2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14")).Select ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False End Sub |
Заранее огромное всем откликнувшимся!