Automating Printing Process

tthiele

Board Regular
Joined
Jun 17, 2002
Messages
67
Office Version
  1. 365
Platform
  1. MacOS
I have taken over a position for a colleague who used to do the following:

One sheet has a list of examinations a student is signed up to take. Student A might have three rows for three different tests, Student B might have two rows for two different tests, Student C might have six rows for six different tests, etc. There is a blank row between each of these groupings of students. There is a second sheet that has a form letter of sorts that is printed and sent to the student to confirm the list of examinations is correct.

My predecessor would manually copy each student's information into the sheet with the form letter, print, and repeat for nearly 600 students.

Is there a relatively easy way to automate this?
 

Excel Facts

Format cells as time
Select range and press Ctrl+Shift+2 to format cells as time. (Shift 2 is the @ sign).
Access has better facilities for this....
In Excel, you could force your "letter" into the Header and Footer areas. You can also use the Print Header Rows for additional text information, including Text Box(es).
Then on the list of examinations, remove your blank lines and sort by Students. Then use the Subtotals feature to add Page breaks.
 
Upvote 0
I have taken over a position for a colleague who used to do the following:

One sheet has a list of examinations a student is signed up to take. Student A might have three rows for three different tests, Student B might have two rows for two different tests, Student C might have six rows for six different tests, etc. There is a blank row between each of these groupings of students. There is a second sheet that has a form letter of sorts that is printed and sent to the student to confirm the list of examinations is correct.

My predecessor would manually copy each student's information into the sheet with the form letter, print, and repeat for nearly 600 students.

Is there a relatively easy way to automate this?

Without seeing the sheet it's really hard BUT.
Is this possible absolutely.

What you need to do is: Find the determining factor of when the persons name changes, I'd array this information send to a blank sheet as a group PER PERSON and then do the below PRINT.
Go back to original sheet array the next student - copy - paste to another sheet and the below on a FOR NEXT LOOP.
I'm quite the novice but it's how we printed out 200 jobs per week automatically (similar to what you're trying to do)

Dim WshNetwork
Set WshNetwork = CreateObject("WScript.Network")


Sheets("NAME").Select


WshNetwork.SetDefaultPrinter "PRINTER NAME"
ActiveSheet.PrintOut ActivePrinter:="PRINTER NAME" '''' will tell the printer to PRINT
 
Upvote 0
Where do the rows data for the student go on the form letter?

What other data needs to be transferred over for each student?
 
Upvote 0
Why not just use mail merge? It’s what it’s for - you’ll need to remove the blank line between each student though
 
Upvote 0

Forum statistics

Threads
1,224,823
Messages
6,181,175
Members
453,021
Latest member
Justyna P

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