Что я хочу сделать, если в столбце A * есть «1», тогда я хочу, чтобы макрос копировал строки, из столбца B *: L * на новый рабочий лист, а затем распечатать рабочий лист, когда он прошел весь диапазон.Печать макроса - ошибка времени выполнения 1004. Метод «Диапазон» объекта «Рабочий стол» не выполнен
Если в столбце A нет «1», я просто хочу, чтобы он продолжал отслеживать следующую строку. Хотелось бы помочь?
Sub PrintFlaggedRows()
Const STARTSEARCHROW As Long = 1
Const STARTPRINTROW As Long = 2
Const ENDSEARCHROW As Long = 250
Const STARTCOLUMN As Integer = 1 ' Column A
Const ENDCOLUMN As Integer = 1 ' Column A
Dim oldAlerts As Boolean
Dim oldUpdates As Boolean
Dim destSheet As Worksheet
Dim srcSheet As Worksheet
Dim destRange As Range
Dim i As Long
oldUpdates = Application.ScreenUpdating
Application.ScreenUpdating = False
oldAlerts = Application.DisplayAlerts
Application.DisplayAlerts = False
Set srcSheet = Sheets("Estimating & Building Quote")
Set destSheet = Worksheets.Add
Set destRange = destSheet.Cells(STARTPRINTROW, 1)
For i = STARTSEARCHROW To ENDSEARCHROW
If (srcSheet.Cells(i, 1) = 1) _
Or (srcSheet.Cells(i, 1) = "1") Then
srcSheet.Range(Cells(i, STARTCOLUMN), Cells(i, ENDCOLUMN)).Copy
dstRange.PasteSpecial xlPasteValues
dstRange.PasteSpecial xlPasteFormats
Set dstRange = dstRange.Offset(0, 1)
End If
Next i
destSheet.Columns.AutoFit
destSheet.PrintOut
destSheet.Delete
Application.DisplayAlerts = oldAlerts
Application.ScreenUpdating = oldUpdates
End Sub
После того, что я получаю ошибку времени выполнения '424': Object требуется. Когда я отлаживаю строку 'dstRange.PasteSpecial xlPasteValues', выделяется. – IMAbe
Если вы добавите 'Option Explicit' в начало своего модуля, вы увидите, что вы объявили и назначили переменную' destRange', но строка, вызывающая ошибку, пытается использовать 'dstRange'. Всегда используя 'Option Explicit' спасает вас от этих типов ошибок. –
А, спасибо. Я изучаю. :) – IMAbe