I think I've just seen something that I can adapt to do what I need :

Sub ProcessData()

Dim rng As Range
Dim rngData As Range

Counter = 0
Set rngData = Range("A:A")

For Each rng In rngData
    If rng.value = strName Then MsgBox ("Found It" & Counter & " Times")
Next rng

End Sub
I can pull the data from this point - I think the report will always sort by reference number so I can at least stop it once the reference no longer matches rather than continue polling the whole lot.

Sods law - the minute I post asking I see something