Page set up for all worksheets
Hi jodie,
see if this does what you want (assumes using 2003)
Sub HideEmptyCols()
Dim iCol As Integer
Dim ws As Worksheet
'Excel 2003
Application.ScreenUpdating = False
For Each ws In Worksheets
For iCol = 256 To ws.Range("IV1").End(xlToLeft).Offset(0,
1).Column Step -1
If IsEmpty(ws.Cells(65536, iCol)) And _
IsEmpty(ws.Cells(1, iCol)) Then
If iCol 1 Then
ws.Cells(iCol, iCol).EntireColumn.Hidden = True
Else
ws.Cells(iCol, iCol).EntireColumn.Hidden = False
End If
End If
Next iCol
Next ws
Application.ScreenUpdating = True
End Sub
--
jb
"Jodie" wrote:
This works great. Thank you both. Now, I need to hide columns in these same
worksheets. Are either of you up for that. Idealy, I would like to hide any
columns that are blank after row 1. If that is not possible, I could select
a specific column that I know is blank, column P.
--
Thank you, Jodie
"john" wrote:
not tested but something like following should do what you want.
Sub VBAMacro()
Dim ws As Worksheet
Application.DisplayAlerts = False
With ActiveWorkbook
For Each ws In .Worksheets
With ws.PageSetup
.PrintArea = ""
.PrintGridlines = True
.Orientation = xlLandscape
.PrintTitleRows = ""
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 5
End With
Next ws
.Save
End With
Application.DisplayAlerts = True
End Sub
--
jb
"Jodie" wrote:
Hello,
I am trying to run the following macro for all sheets in a workbook:
Sub VBAMacro()
Cells.Select
Range("D1").Activate
ActiveSheet.PageSetup.PrintArea = ""
With ActiveSheet.PageSetup
.PrintGridlines = True
.Orientation = xlLandscape
.PrintTitleRows = ""
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 5
End With
ActiveWorkbook.Save
End Sub
How can I make it work?
--
Thank you, Jodie
|