ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   New Users to Excel (https://www.excelbanter.com/new-users-excel/)
-   -   Create a Macro to Print pages which contain content (https://www.excelbanter.com/new-users-excel/449416-create-macro-print-pages-contain-content.html)

Nerodia

Create a Macro to Print pages which contain content
 
I am new to writing macros and I need assistance with writing a macro to select the pages which contain data. I have a monetary input spreadsheet, which can range from 1 line of data to 500. I would like to automate the print function to only select the pages which have data to print.

I am guessing that I will need to define a column, for example:

Dim AccountNumber As String

I will need to write an If, then statement to look for data in the cells and if there is data, then the page would be printed. I'm just not sure how to go forward. Any assistance would be apprecieted. Let me know if more information is needed.

Claus Busch

Create a Macro to Print pages which contain content
 
Hi,

Am Thu, 24 Oct 2013 17:54:42 +0100 schrieb Nerodia:

I am new to writing macros and I need assistance with writing a macro to
select the pages which contain data. I have a monetary input
spreadsheet, which can range from 1 line of data to 500. I would like
to automate the print function to only select the pages which have data
to print.


try:
Sub Test()
Dim LRow As Long
Dim LCol As Long

With Sheets("Sheet1")
LRow = .Cells(.Rows.Count, 1).End(xlUp).Row
LCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
.PageSetup.PrintArea = _
Range(Cells(1, 1), Cells(LRow, LCol)).Address
.PrintOut Copies:=1
End With
End Sub


Regards
Claus B.
--
Win XP PRof SP2 / Vista Ultimate SP2
Office 2003 SP2 /2007 Ultimate SP2

Claus Busch

Create a Macro to Print pages which contain content
 
Hi again,

Am Thu, 24 Oct 2013 20:22:59 +0200 schrieb Claus Busch:

better try:

Sub Test()
Dim LRow As Long
Dim LCol As Long

With Sheets("Sheet1")
LRow = .Cells(.Rows.Count, 1).End(xlUp).Row
LCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
If LRow 1 And LCol 1 Then
.PageSetup.PrintArea = _
Range(Cells(1, 1), Cells(LRow, LCol)).Address
.PrintOut Copies:=1
End If
End With
End Sub


Regards
Claus B.
--
Win XP PRof SP2 / Vista Ultimate SP2
Office 2003 SP2 /2007 Ultimate SP2


All times are GMT +1. The time now is 01:54 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com