Hi koolsid and westconn1,

Firstly, thank you for the welcome.

A quick question; I am curious as to what this part of the code does; my assumption is that it will go down column A until the last row?
End(xlUp) does this have to be defined or is xlUp one up from the last row.

Code:
lRow = .Range("A" & .Rows.Count).End(xlUp).Row
I can see how a 2 column array could be used for referencing and efficiency. I suppose that would come handy later when I'm trying to make it all look more efficient.

This has been very helpful and I will try and implement it. I have an additonal query - if for example I am searching for one item e.g. "0001_0001" to insert an hyperlink "C:\0001_0001.PDF" is there anyway I could replace all item's found?
At the moment I just have all occurences saved in my excel.