Очень прощу помощи в корректировке макроса.
Он состоит из 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
|
Заранее огромное всем откликнувшимся!