Filtrar tabla a partir de opciones seleccionadas en un listbox

Tengo un listbox que tiene como opciones diferentes paises, y necesito que al seleccionar 1 o mas paises de ese listbox me aplique el filtro de esas selecciones en una tabla.

La tabla la tengo en la hoja 4 y la columna 7 es la correspondiente a ciudades. Lo que necesito es que, si yo selecciono, Argentina, Argelia y Angola, me aplique dicho filtro en la tabla que tengo en mi hoja4

Private Sub GenerarInforme_Click()
Dim elementoLista As Long
Dim arreglo As Variant
With ListBox1
    For elementoLista = 0 To .ListCount - 1
        If .Selected(elementoLista) Then
            If ListBox1.Selected(elementoLista) = True Then
            seleccionados = seleccionados + 1
            End If
               Dim ary(1 To seleccionados) As String
            If seleccionados = 1 Then coma = "" Else coma = ","
            arreglo = arreglo & .List(elementoLista) & vbCrLf
            ary(seleccionados) = arreglo
        End If
    Next elementoLista
End With
If Len(arreglo) = 0 Then
    MsgBox "No hay elementos seleccionados"
End If
Hoja4.Range("rango").AutoFilter _
 Field:=7, _
 Criteria1:=Array(ary), _
 Operator:=xlFilterValues
End Sub

Este es el código que estoy utilizando pero siempre me filtra en blanco, es decir, no me selecciona ningún país.

Añade tu respuesta

Haz clic para o