Hi, James,
maybe proceed like this:
Sub Shortway2()
Dim c As Range
With Worksheets("Generator")
For Each c In .Range("P6:P26")
.Range("P1").Value = c.Value
If .Range("T15").Value = "X" Then
.Range("A2:L61").PrintOut
End If
If .Range("T16").Value = "X" Then
.Range("A63:L122").PrintOut
End If
If .Range("T17").Value = "X" Then
.Range("A124:L183").PrintOut
End If
If .Range("T18").Value = "X" Then
.Range("A185:L244").PrintOut
End If
If .Range("T19").Value = "X" Then
.Range("A246:L305").PrintOut
End If
If .Range("T20").Value = "X" Then
.Range("A307:L366").PrintOut
End If
Next c
End With
End Sub
And if you want to loop through the cells for a check if to print:
Sub Shortway3()
Dim c As Range
Dim lngCounter As Long
Dim lngHelp As Long
With Worksheets("Generator")
For Each c In .Range("P6:P26")
.Range("P1").Value = c.Value
For lngCounter = 15 To 20 'alter here
If .Range("T" & lngCounter).Value = "X" Then
lngHelp = lngCounter - 15
.Range("A" & 2 + lngHelp * 61 & ":L" & 61 + lngHelp * 61).PrintOut
End If
Next lngCounter
Next c
End With
End Sub
Ciao,
Holger
Bookmarks