Hi Narayan,
Thank you for your reply, you have made a very valid point. I realise that my point (1) isn't very effective and its not going to give me a helpful solution, my code (above) is only deleting the lines, and at that point the address of the cell that the error would be in would be in its copied location, which is no use if i am to get the address of the original entry.
there are 6 separate sheets containing 1 table on each, the tables housing the source data. Each table contains a number of unique headings, and also some which are the same. My code extracts the data that is in the fields that are the same, from each table and consolidates it, into one sheet - the data set represents equipment which we hire out. When it is returned to us, we no longer need it in the consolidated list. we do need it in the source list because we are able to use that information to find out which items offer good investment opportunities for example and also for other things.
the information which is not required from the consolidated sheet is deleted because its value (imported from the source sheets) is zero. the column number that the values are in is different in each table, but it is consistently 3 away from the furthest on the right hand end. because it is in a table I could select the first header line, and do xl right, and then offset that by -3 columns, this would get me to the right column number. (albeit a little long!) I just use the sheet1, sheet2 names, because sometimes the users change the sheet names to reflect different types that are used in the different depots. and sometimes they add extra sheets, so each workbook can become individual.
each sheet is emailed to me (using a separate bit of code) and I add them all together to get an overall version for the company.
the address function isn't one I'm familiar with so i'll look that one up, Maybe I could add it a cell above the header row in each table to obtain the addresses, of errors, and return them in a message box, (and exiting the sub). If there are no errors, and the formula returns an error itself, then the message box would then be bypassed by the error handling that i assume would be necessary to avoid it crashing - does that logic reflect your comments? it's worth a go anyway as its not a route i've tried to date.
once again thank you very much, you have been a great help.
kind regards and best wishes.