Resolvi o meu problema...
Mauro, listbox multiplo permite várias seleções de dados ao mesmo tempo, exemplo:
-> De um listbox que apresenta 1 empresas eu consigo seleciona 3 destas ao mesmo tempo.
Eu vi algo parecido com o seu link, mas não optei por utilizar Application.Transpose por tratar com incremento com objeto Range.
Encontrei algo mais fácil o Split que separa dados de uma string formando um Array, que no caso também dá certinho no que eu queria.
O código ficou assim:
'Filtro Empresa______________________________________________________
'Inicializo a variável EMPRESA com um valor em branco
EMPRESA = ""
'Um loop básico para percorrer o Listbox
For L = 1 To 10
'Um IF para definir o que ocorrerá primeiro porque não devemos começar
a Concatenar as empresas selecionadas com vírgula
If Sheets("RCE").ListBox1.Selected(L - 1) = True Then
If EMPRESA = "" Then
EMPRESA = Sheets("RCE").ListBox1.List(L - 1)
ElseIf EMPRESA <> "" Then
EMPRESA = EMPRESA & "," & Sheets("RCE").ListBox1.List(L - 1)
End If
End If
Next L
'Como ficou o autofiltro________________________________
With Sheets("BANCO").Range("B1:V100000")
'Com Split o tratamento fica assim:
Variável EMPRESA sem SPLIT está assim -> "EMPRESA1,EMPRESA2,EMPRESA3";
Variável EMPRESA com SPLIT está assim -> "EMPRESA1","EMPRESA2","EMPRESA3";
Inclui o Arryay e então fica assim -> Array("EMPRESA1","EMPRESA2","EMPRESA3").
If EMPRESA <> "" Then
.AutoFilter Field:=2, Criteria1:=Array(Split(EMPRESA, ",")), Operator:=xlFilterValues
ElseIf EMPRESA = "" Then
.AutoFilter Field:=2, Criteria1:="<>""", Operator:=xlFilterValues
End If
Espero que tenha ficado claro, pelo menos tentei...
Vlw!!
Postado : 25/09/2015 9:27 am