ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   VBA Printing (https://www.excelbanter.com/excel-programming/346692-vba-printing.html)

EMoe[_77_]

VBA Printing
 

Hello Programmers! :)

Below is a simple code (that I've recorded) to print the selected range
from 3 different worksheets. I know that all printers are different, but
the standard functions should be the same.

First of all, is there a way to simplify this code. Secondly, how do
you write in a code to, #1. Print the selected sheets in reverse order,
#2. and to rotate the sheets 180 degrees. I tried to record these
actions but they don't show up in the code. Are there some codes out
there for this, or is this a feature set up within the printers
software? :confused:

Sub PrintWorksheets()
Range("A1:I52").Select
Selection.PrintOut Copies:=1, Collate:=True
Range("A1").Select
Sheets("Sheet2").Select
Range("A1:I52").Select
Selection.PrintOut Copies:=1, Collate:=True
Range("A1").Select
Sheets("Sheet3").Select
Range("A1:I52").Select
Selection.PrintOut Copies:=1, Collate:=True
Range("A1").Select
Sheets("Sheet1").Select
Range("A1").Select
End Sub

Thanks,
EMoe


--
EMoe
------------------------------------------------------------------------
EMoe's Profile: http://www.excelforum.com/member.php...o&userid=23183
View this thread: http://www.excelforum.com/showthread...hreadid=488462


DataCollector[_5_]

VBA Printing
 

First, under the File Menu, choose Page Setup, Page and select Landscap
view.
Second, in your code, move Sheet 3 into the first position, leave Shee
2 where it is, and move Sheet1 into the third position.

Sub PrintWorksheets()
Sheets("Sheet3").Select
Range("A1:I52").Select
Selection.PrintOut Copies:=1, Collate:=True

Sheets("Sheet2").Select
Range("A1:I52").Select
Selection.PrintOut Copies:=1, Collate:=True

Sheets("Sheet1").Select
Range("A1:I52").Select
Selection.PrintOut Copies:=1, Collate:=True

'leaving this code here makes sure the first page is selected whe
printing finishes
'you don't really need it.
Sheets("Sheet1").Select
Range("A1").Select

End Su

--
DataCollecto
-----------------------------------------------------------------------
DataCollector's Profile: http://www.hightechtalks.com/m36
View this thread: http://www.hightechtalks.com/t229535


Don Guillett[_4_]

VBA Printing
 
One way. You could also do a for i=1 to three and do for each sh

See if this works then change printpreview to printout
Sub loopthrusheetarray()
Dim Sh As Worksheet
For Each Sh In Sheets(Array("Sheet1", "Sheet2", "Sheet3"))
sh.range("a1:i52").printpreview
Next
End Sub


--
Don Guillett
SalesAid Software

"EMoe" wrote in message
...

Hello Programmers! :)

Below is a simple code (that I've recorded) to print the selected range
from 3 different worksheets. I know that all printers are different, but
the standard functions should be the same.

First of all, is there a way to simplify this code. Secondly, how do
you write in a code to, #1. Print the selected sheets in reverse order,
#2. and to rotate the sheets 180 degrees. I tried to record these
actions but they don't show up in the code. Are there some codes out
there for this, or is this a feature set up within the printers
software? :confused:

Sub PrintWorksheets()
Range("A1:I52").Select
Selection.PrintOut Copies:=1, Collate:=True
Range("A1").Select
Sheets("Sheet2").Select
Range("A1:I52").Select
Selection.PrintOut Copies:=1, Collate:=True
Range("A1").Select
Sheets("Sheet3").Select
Range("A1:I52").Select
Selection.PrintOut Copies:=1, Collate:=True
Range("A1").Select
Sheets("Sheet1").Select
Range("A1").Select
End Sub

Thanks,
EMoe


--
EMoe
------------------------------------------------------------------------
EMoe's Profile:
http://www.excelforum.com/member.php...o&userid=23183
View this thread: http://www.excelforum.com/showthread...hreadid=488462




EMoe[_79_]

VBA Printing
 

Thanks a bunch!

EMo

--
EMo
-----------------------------------------------------------------------
EMoe's Profile: http://www.excelforum.com/member.php...fo&userid=2318
View this thread: http://www.excelforum.com/showthread.php?threadid=48846


Don Guillett[_4_]

VBA Printing
 
did you try my efficient code?

--
Don Guillett
SalesAid Software

"EMoe" wrote in message
...

Thanks a bunch!

EMoe


--
EMoe
------------------------------------------------------------------------
EMoe's Profile:
http://www.excelforum.com/member.php...o&userid=23183
View this thread: http://www.excelforum.com/showthread...hreadid=488462




EMoe[_81_]

VBA Printing
 

Hi Don!

Sorry it took me a while to get back to you. I just tried your
*efficient code*, and it works well. Now I see how to shorten my print
code, and I'll use this method in future programs.

Thanks,
EMoe :)


--
EMoe
------------------------------------------------------------------------
EMoe's Profile: http://www.excelforum.com/member.php...o&userid=23183
View this thread: http://www.excelforum.com/showthread...hreadid=488462



All times are GMT +1. The time now is 12:11 AM.

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