Quote Originally Posted by gibbo1715
any chance of an example of the second method please
Sure.


Dim LastRow As Long
Dim i As Long
Dim oLB As Object
    Set oLB = frmItems.ListBox1
    With ThisWorkbook.Sheets("Items")
        If Range("A3").Value = "" Then
            LastRow = Range("3")
        Else
            LastRow = .Range("A" & Rows.Count).End(xlUp).Row
        End If
        For i = 3 To LastRow
            If Cells(i, "F").Value = "y" Then
                oLB.AddItem Cells(i, "A")
                oLB.List(oLB.ListCount - 1, 1) = Cells(i, "B")
                oLB.List(oLB.ListCount - 1, 2) = Cells(i, "C")
                oLB.List(oLB.ListCount - 1, 3) = Cells(i, "D")
            End If
        Next i
    End With