Excellent, thank you so much, i amended the code slightly to this which works a treat:

Set rng = rng.Cells.SpecialCells(xlCellTypeVisible)
If rng.Row = 1 Then
    ListBox1.Clear
    MsgBox "No records found"
Many thanks, Matt