Using mail merge in excel without word

Copper Contributor

I need help to set up macros in excel spreadsheet that can print tax receipt.  I have one tab contains data and one tab is the tax receipt template.  How can I set up macros to choose a range of records to print individual tax receipt? 

Thank you.

9 Replies

Hi Mimi:


Your question is too broad in its current form.  What I suggest you do is to record a Macro to print just one tax receipt.  Post the code that gets recorded here, and we can show you how to modify it to enable you to select a record to print.


We will need details such as "how do you decide which record to print?", "which version of Excel are you using?" and "Which licence type do you have?".


Excel is a very large product, and not all licences have access to all of the features: we need to know what will work in your setting and what won't.


You will find a "Record a Macro" topic in the Excel Help that will get you started.


Hope this helps

Is there are step by step way to merge two excel worksheets into one, WITHOUT using WORD?

Any hints or suggestions would be appreciated.



Hi Shiloh:


There are several diffeent ways: but your question is far too broad to give a useful answer.


We need to know the data structure of the sheets, and what you mean by "Merge" :)



We have one spreadsheet set up to print as a "worksheet" calculating wages, time off, etc...and we have another that includes personal contact information and new hire details.


How can we merge this information to populate on one "worksheet' per employee?


Excel 2016 within Office 365.



Ah!  Two sheets with entirely dissimilar structures.  That's what I suspected, which is why I asked the question.


So my answer would be: "I wouldn't merge them!" The main reason being that the Time and Wages sheet presumably contains complex calculation logic that you do not want replicated into multiple instances (because if you do, you will get a maintenance nightmare when anything in the rules changes). You would have to track down, and update, every single worksheet.


What I would do is "link" the two sheets, so that one is simply drawing data from the other.


Whether you link from Time Sheet to Pay Sheet, or from Pay Sheet to Time Sheet depends on which person you expect to do the most updating.


If you want each employee to fill in their own timesheet, and the Pay Lady (it's always a lady, men don't have the patenince to do this properly...) to calculate the wages, I would link from the Pay Sheet to the Time Sheet.  So you place a set of 31 rows on the timesheet containing each day of the month, with columns for start time, break time, finish time, leave type etc.


Then you put a row for each employee in the Pay Sheet, which draws the data from each employee's time sheet and computes their wages.


Some design considerations:  When you retrieve the employee's time, you MUST also bring across the DATES.  And you should time-stamp the data with the date and time that you retrieved it. Then you need to make provision to store the raw data for up to seven years (in Australia you have to keep financial data that affects the employee's tax position for up to seven years; I do not know which jurisdiction you are in, or what your retention requirements are, but there will be some!)


You will need to import the data into "Helper Columns" (which can be hidden) so that you can implement "Closing" logic to the data import (If the entry is for a date prior to last Thursday, and I already have data in this row, then do not import again...) to prevent the employee going back and "adjusting" last week's attendance. You need to keep accrual totals for things such as leave and sick day entitlement and decrement them.


Excel is not the tool to use to do this job! The logic becomes very complex, the spreadsheet will become very slow if there are a lot of employees, and the impact to the business from a logic error is potentially catastrophic.


I would keep the employee Time Sheet in Excel, perhaps; but rely on a proper accounting back-end such as MYOB ( to do the calculation and store the data. Applications like that have decades of development and refinement: the chances of getting a catastrophic risk from a logic error is infinitesimal -- and they're easier to use than Excel for this purpose.


Hope this helps

@Mimi Wong 

I'm writing a response for other users with the same goal as I've done this for clients many times--mail merge in Excel without Word can be so much more streamlined. You do need basic VBA skills though.


1) Create a mapping between the source data and the destination (template) cells. If each record has its own row in the source, for example, you could map column 1 (source name) to cell D1 (template name), column 2 (address) to cell E2 (template address), etc.


2) Select the rows in the source to merge. In VBA, iterate through each selected row.


3) In each iteration, copy every source cell to the mapped destination cell, then save the template as it's own XLS file and publish it to PDF.


Now you have an Excel file and a PDF file for each source record.


If you don't know VBA, you can hire a contractor to put this functionality into your spreadsheet without too much cost. There's a visual of the process attached and at


Good luck!

if there is a field in each sheet that has the exact same unique value like employee number or full name, you can use the Excel function VLOOKUP to add data into a cell in one sheet from another row in another sheet

I am working to keep all the files in excel and would like to basically merge excel info into an excel template.  I know you can merge into an excel document and I see the one that turn the info directly into a pdf, but I do not see one that puts it back into an excel document with a merge.  Is that way not possible?  It seems to me that I will have to have a template pre-made for each and just connect the worksheets?  Thank you for any help you can give me.

@crossmountain2005 I use an XLS table of data to generate many XLS files based on a template, and each of these is optionally also converted to PDF. Does that answer your question? This is done through VBA programming however.