It seemed to work for me under light testing.
What happens when you step through the code?
And it looks like your data is laid out nicely (32 row increment, print 16
rows):
Maybe you could use this as an option:
Option Explicit
Sub testme01()
Dim iRow As Long
Dim HowMany As Long
HowMany = 20
With ActiveSheet
For iRow = 52 To (32 * HowMany - 1) + 52 Step 32
If IsNumeric(.Cells(iRow + 3, "I").Value) Then
If .Cells(iRow + 3, "I").Value 0 Then
.Cells(iRow, "A").Resize(16, 9).PrintPreview
'.printout when you're done checking
Exit For
End If
End If
Next iRow
End With
End Sub
Bob wrote:
I have a 20 sheet bid. I want to print half of each sheet if cell I55 is 0 print range if not then go to the next sheet check cell I87 is 0 print, or go to the next sheet and so on. What am I missing? The first sheet only works.
If [I55] 0 Then
Range("A52:I67").Select
Selection.PrintOut
Else
If [I87] 0 Then
Range("A84:I99").Select
Selection.PrintOut
Else
If [I119] 0 Then
Range("A116:I131").Select
Selection.PrintOut
End If
End If
End If
End Sub
Thank you for you help!
--
Dave Peterson