K
KimberlyC
Hi
I am running this code below (with help from this newsgroup) to set the
print area of the Active Worksheet to the last entry in col. b.
It works great...
However.. I now need to set the print area based on the same info (col b
"last entry" and A1:Q) for each worksheet that "starts" with the name
"Payroll..."
in the ActiveWorkbook.
I'm not sure how to do this..or if it can be done..
Any help would be greatly appreicated!!
Private Sub CommandButton1_Click()
ThisWorkbook.ActiveSheet.PageSetup.PrintArea = "A1:Q" &
LastInColumn(Range("b1"))
''get rid of this after testing
MsgBox "Print area set to " &
ThisWorkbook.ActiveSheet.PageSetup.PrintArea
End Sub
Function LastInColumn(rngInput As Range)
''Courtesy of http://www.j-walk.com, though a tad changed
Dim WorkRange As Range
Dim i As Integer, CellCount As Integer
Application.Volatile
Set WorkRange = rngInput.Columns(1).EntireColumn
Set WorkRange = Intersect(WorkRange.Parent.UsedRange, WorkRange)
CellCount = WorkRange.Count
For i = CellCount To 1 Step -1
If Not IsEmpty(WorkRange(i)) Then
LastInColumn = WorkRange(i).Row
Exit Function
End If
Next i
End Function
Thanks in advance!
Kimberly
I am running this code below (with help from this newsgroup) to set the
print area of the Active Worksheet to the last entry in col. b.
It works great...
However.. I now need to set the print area based on the same info (col b
"last entry" and A1:Q) for each worksheet that "starts" with the name
"Payroll..."
in the ActiveWorkbook.
I'm not sure how to do this..or if it can be done..
Any help would be greatly appreicated!!
Private Sub CommandButton1_Click()
ThisWorkbook.ActiveSheet.PageSetup.PrintArea = "A1:Q" &
LastInColumn(Range("b1"))
''get rid of this after testing
MsgBox "Print area set to " &
ThisWorkbook.ActiveSheet.PageSetup.PrintArea
End Sub
Function LastInColumn(rngInput As Range)
''Courtesy of http://www.j-walk.com, though a tad changed
Dim WorkRange As Range
Dim i As Integer, CellCount As Integer
Application.Volatile
Set WorkRange = rngInput.Columns(1).EntireColumn
Set WorkRange = Intersect(WorkRange.Parent.UsedRange, WorkRange)
CellCount = WorkRange.Count
For i = CellCount To 1 Step -1
If Not IsEmpty(WorkRange(i)) Then
LastInColumn = WorkRange(i).Row
Exit Function
End If
Next i
End Function
Thanks in advance!
Kimberly