In this post I will explain how we can take printouts automatically using vba. So let’s consider this sample sheet.
This is a employee ID of a company. We use this ID as a template to generate IDs for each and every employee of the company. Now let’s look at how we can print this ID. We can do it easily like this.
Sub PrintID() Dim WS As Worksheet Set WS = Worksheets("Sheet2") WS.Range("B2:J13").PrintOut End Sub |
Here "Sheet2" is the name of the worksheet. And Range("B2:J13") is the area we need to print. So you should modify the sheet name and range according to your worksheet name and range, you want to print. If you run above code it will print the ID automatically.
So we learned how to take printout of a range we want. But what if we need several copies of that range. We can take several copies automatically using following code. This below code will print 2 copies of that same range.
Sub PrintID_2Copies() Dim WS As Worksheet Set WS = Worksheets("Sheet2") WS.Range("B2:J13").PrintOut Copies:=2 End Sub |
Note that using this above code you can only print one ID. However if you need you can improve this macro to print IDs for all the employees in a database. Let’s assume you have a database with information of your employees. Then you can use For loop and cell addresses to create and print ID for each and every employee in that database.