Добрый день.
Есть код, который копирует столбцы с одного листа на другой внутри одной книги.
Код |
---|
Sub Kamion1()
Application.ScreenUpdating = False
Sheets("PL").AutoFilter.Range.Columns("A").Offset(1).SpecialCells(12).Copy
Sheets("Kamion 1").Range("C107").PasteSpecial xlPasteValues
Sheets("PL").AutoFilter.Range.Columns("C").Offset(1).SpecialCells(12).Copy
Sheets("Kamion 1").Range("E107").PasteSpecial xlPasteValues
Sheets("PL").AutoFilter.Range.Columns("D").Offset(1).SpecialCells(12).Copy
Sheets("Kamion 1").Range("F107").PasteSpecial xlPasteValues
Application.ScreenUpdating = True
Sheets("Kamion 1").Select
Cells(107, 1).Select
End Sub |
При запуске макроса, он ведет себя непредсказуемо. Иногда все нормально работает, а иногда выдает ошибку "Run-time error '91' Object variable or With block variable not set". Какой-либо закономерности в появлении ошибки я не нашел.
При этом есть другой код, который так же копирует столбцы, но из одной книги в другую. Этот макрос всегда работает хорошо и не выдает ошибок.
Код |
---|
Sub Vyvoz_CUBIC_1()
Dim iLastRow As Long
Dim FileName As String
Dim ProjektName As String
ProjektName = Left$(ActiveWorkbook.Name, InStrRev(ActiveWorkbook.Name, ".") - 1)
FileName = Workbooks(ProjektName).Sheets("Country").Range("M3")
Workbooks("Proforma invoice_Packing list " & FileName).Sheets("Proforma invoice " & FileName).Activate
iLastRow = Cells(Rows.Count, 3).End(xlUp).Row + 1
Application.ScreenUpdating = False
Workbooks(ProjektName).Sheets("CUBIC").AutoFilter.Range.Columns("B").Offset(2).SpecialCells(12).Copy
Workbooks("Proforma invoice_Packing list " & FileName).Sheets("Proforma invoice " & FileName).Cells(iLastRow, "C").PasteSpecial xlPasteValues
Workbooks(ProjektName).Sheets("CUBIC").AutoFilter.Range.Columns("C").Offset(2).SpecialCells(12).Copy
Workbooks("Proforma invoice_Packing list " & FileName).Sheets("Proforma invoice " & FileName).Cells(iLastRow, "D").PasteSpecial xlPasteValues
Workbooks(ProjektName).Sheets("CUBIC").AutoFilter.Range.Columns("D").Offset(2).SpecialCells(12).Copy
Workbooks("Proforma invoice_Packing list " & FileName).Sheets("Proforma invoice " & FileName).Cells(iLastRow, "E").PasteSpecial xlPasteValues
Application.ScreenUpdating = True
Range("A33").Select
End Sub |
Подскажите, пожалуйста, почему в первом макросе появляется ошибка, если используется тот же метод копирования, что и во втором макросе, в котором ошибки не появляются?
Заранее благодарю всех за помощь!