I have a data validation list with names of students in cell C5. Every time I bring up a name it fills in a report on that page with results for that particular student. (it uses vlookup in the report). I need to print these reports for all students. I currently run a macro that copies the names picking it from a student list on a different sheet and then prints. I want the macro to run through the validation list and print automatically and keep going till the last name in the list. Below is what I am currently using.
Sub PrintAll() ' ' PrintAll Weekly Tests Report Macro '
Range("C5").Select
Sheets("StudentsOne").Select
Range("A3").Select
Selection.Copy
Sheets("Test Report1").Select
Selection.PasteSpecial Paste:=xlPasteValues
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Range("C5").Select
Sheets("StudentsOne").Select
Range("A4").Select
Selection.Copy
Sheets("Test Report1").Select
Selection.PasteSpecial Paste:=xlPasteValues
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Range("C5").Select
Sheets("StudentsOne").Select
Range("A5").Select
Selection.Copy
Sheets("Test Report1").Select
Selection.PasteSpecial Paste:=xlPasteValues
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
and it keeps going like this according to how many studetns there are. It changes every year and I update it. It ranges between 35 and 50. So every year I either delete or add more ranges to copy paste. I would love to have the macro just run through the list himself end execute the printing. right now there are 41 records in the list. (41 names) Any help appreciated. Thanks