I have made this code to copy a range after a table is filtert by a listbox.

But it only selects 1 row. I have now idea why it is not select all de visible row.

Private Sub bz_CommandButton2_Click()

Dim shI As Worksheet
Dim shB As Worksheet
Dim lr  As Long

Set shI = ThisWorkbook.Sheets("Invulblad")
Set shB = ThisWorkbook.Sheets("Bloklijsten")
  
  
  Dim rngData As Range
    Set rngData = Blad1.ListObjects("Bloklijsten").Range
    With bz_ListBox1
    rngData.AutoFilter Field:=15, Criteria1:=.List(.ListIndex), Operator:=xlAnd
  End With
  

lr = Blad1.Cells(Blad1.Rows.Count, 15).End(xlUp).Row

shB.Range("G2:O" & lr).SpecialCells(xlCellTypeVisible).Copy

shI.Range("C8").PasteSpecial xlPasteValuesAndNumberFormats

End Sub