Can I save print out in VBA to print all in one print spool?

Macdoke1

New Member
Joined
Jul 31, 2009
Messages
2
I have a workbook that prints out a statement multiple times. This statement is just a template located on 1 tab.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:eek:ffice:eek:ffice" /><o:p></o:p>
<o:p></o:p>
VBA runs a loop that scrolls through a list of data which flows to the statements, changes the statement, then prints the statement, and then starts over with the new data and prints out the statement over and over depending on the range of data all on 1 tab. <o:p></o:p>
<o:p></o:p>
So, as of right now, each time the loop prints out the statement, I get a separate print document sent to the printer for each loop. This works great until i have 3 or 4 people working on different workbooks that try to print at the same time. The statements are printed out at random and then must be separated (which could be hundreds of statements).<o:p></o:p>
<o:p></o:p>
An answer to my problem is to be able to save the print out in an array or VBA and then send all the print outs to the printer at once as 1 document. That way, if 2 people printed out a workbook at the same time, the printer would print out 1 complete job and then print out the next...saving separating or random print out intertwined in specific sets of print outs.<o:p></o:p>
<o:p></o:p>
Printing to .pdf is too slow and reduces the quality of the print image. I already tried that.<o:p></o:p>
<o:p></o:p>
So, can I some how print out a tab, change it, and then print it out...but to only 1 print spool, all through in VBA?<o:p></o:p>
<o:p></o:p>
Thanks for the help!!!!!!!!!<o:p></o:p>
<o:p> </o:p>
 

Excel Facts

Which came first: VisiCalc or Lotus 1-2-3?
Dan Bricklin and Bob Frankston debuted VisiCalc in 1979 as a Visible Calculator. Lotus 1-2-3 debuted in the early 1980's, from Mitch Kapor.
Hypothetically, you would probably want to copy the template to a new workbook, generate each statement in its own sheet, print out the group of sheets, and discard the new workbook. Would that work?
 
Upvote 0
Macdoke1

Welcome to the MrExcel board!
Hypothetically, you would probably want to copy the template to a new workbook, generate each statement in its own sheet, print out the group of sheets, and discard the new workbook. Would that work?
Further to this suggestion, and assuming each print job has a similar column layout, you could just use another 'Print' sheet in your existing workbook. I envisage the code performing these steps:

1. Clear any existing data from the 'Print' sheet.

2. Loop through you existing code but instead of printing each time ...
a) Copy the data to the next available row in the 'Print' sheet, and
b) Insert a page break immediately below the data just Pasted into the 'Print' sheet

3. Print the 'Print' sheet.
 
Upvote 0
Genius! This is perfect!!!! <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:eek:ffice:eek:ffice" /><o:p></o:p>
<o:p></o:p>
Thanks for the different perspectives.<o:p></o:p>
<o:p></o:p>
Kevin <o:p></o:p>
 
Upvote 0

Forum statistics

Threads
1,214,971
Messages
6,122,517
Members
449,088
Latest member
RandomExceller01

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top