S
Sheeny
Hi, Im trying to work this so that when the user selects a check box an
enters in the cell next to it the number of copies, that the code wil
print 3 pages per each worksheet that was selected. For some reason
can't see why the code is not working. All the code does is print ou
blank sheets, and for example, it prints 9 regular sized sheets for th
first section, which should be 1 legal size. Any ideas?
Private Sub PrintSelAnal_Click()
Dim area As String
Dim startrow1 As Integer
Dim startcol1 As Integer
Dim endrow1 As Integer
Dim endcol1 As Integer
Dim startrow2 As Integer
Dim startcol2 As Integer
Dim endrow2 As Integer
Dim endcol2 As Integer
Dim startrow3 As Integer
Dim startcol3 As Integer
Dim endrow3 As Integer
Dim endcol3 As Integer
fstyr = Range("FirstAll")
lstyr = Range("LastAll")
If CheckBox12.Value = True Then
For i = 1 To Cells(18, 9).Value
Sheets(Cells(18, 6).Value).Select
' for q 1 and q 2
startrow1 = 1
startcol1 = 20
endrow1 = 56 + 2 * (lstyr - fstyr)
endcol1 = 46
With ActiveSheet.PageSetup
.Orientation = xlLandscape
.PaperSize = xlPaperLegal
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Range(Cells(startrow1, startcol1), Cells(endrow1
endcol1)).PrintOut copies:=1, Collate:=True
' for q3 and q4
startrow2 = (endrow1 + 1)
startcol2 = 20
endrow2 = startrow2 + 42 + 2 * (lstyr - fstyr)
endcol2 = 46
With ActiveSheet.PageSetup
.Orientation = xlLandscape
.PaperSize = xlPaperLegal
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Range(Cells(startrow2, startcol2), Cells(endrow2
endcol2)).PrintOut copies:=1, Collate:=True
' for rest
startrow3 = 21
startcol3 = 48
endrow3 = 124
endcol3 = 59
With ActiveSheet.PageSetup
.Orientation = xlLandscape
.PaperSize = xlPaperLegal
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Range(Cells(startrow3, startcol3), Cells(endrow3
endcol3)).PrintOut copies:=1, Collate:=True
Next i
End If
THANK YPU SO MUCH
enters in the cell next to it the number of copies, that the code wil
print 3 pages per each worksheet that was selected. For some reason
can't see why the code is not working. All the code does is print ou
blank sheets, and for example, it prints 9 regular sized sheets for th
first section, which should be 1 legal size. Any ideas?
Private Sub PrintSelAnal_Click()
Dim area As String
Dim startrow1 As Integer
Dim startcol1 As Integer
Dim endrow1 As Integer
Dim endcol1 As Integer
Dim startrow2 As Integer
Dim startcol2 As Integer
Dim endrow2 As Integer
Dim endcol2 As Integer
Dim startrow3 As Integer
Dim startcol3 As Integer
Dim endrow3 As Integer
Dim endcol3 As Integer
fstyr = Range("FirstAll")
lstyr = Range("LastAll")
If CheckBox12.Value = True Then
For i = 1 To Cells(18, 9).Value
Sheets(Cells(18, 6).Value).Select
' for q 1 and q 2
startrow1 = 1
startcol1 = 20
endrow1 = 56 + 2 * (lstyr - fstyr)
endcol1 = 46
With ActiveSheet.PageSetup
.Orientation = xlLandscape
.PaperSize = xlPaperLegal
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Range(Cells(startrow1, startcol1), Cells(endrow1
endcol1)).PrintOut copies:=1, Collate:=True
' for q3 and q4
startrow2 = (endrow1 + 1)
startcol2 = 20
endrow2 = startrow2 + 42 + 2 * (lstyr - fstyr)
endcol2 = 46
With ActiveSheet.PageSetup
.Orientation = xlLandscape
.PaperSize = xlPaperLegal
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Range(Cells(startrow2, startcol2), Cells(endrow2
endcol2)).PrintOut copies:=1, Collate:=True
' for rest
startrow3 = 21
startcol3 = 48
endrow3 = 124
endcol3 = 59
With ActiveSheet.PageSetup
.Orientation = xlLandscape
.PaperSize = xlPaperLegal
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
Range(Cells(startrow3, startcol3), Cells(endrow3
endcol3)).PrintOut copies:=1, Collate:=True
Next i
End If
THANK YPU SO MUCH