Celri, utilizar wildcard com numeros é meio complicado, eu já precisei e não encontrei o exemplo que tinha, mas pelas instruções estou supondo que está utilizando um modelo igual a este ( http://guiadoexcel.com.br/lista-com-fil ... omatico-2/), então baseando na solução apresentada no link http://stackoverflow.com/questions/3036 ... -field-jus, troque a sua rotina pela a abaixo, só lembre de colocar o nome da aba na linha, With Worksheets("NomeDaSuaAba").
Faça os testes e veja se é isto :
Private Sub Coleta_Change()
Dim a As Long, aTMPs As Variant, dVALs As Object
Dim sValor
sValor = Coleta.Text
Set dVALs = CreateObject("Scripting.Dictionary")
dVALs.CompareMode = vbTextCompare
With Worksheets("NomeDaSuaAba")
'If .AutoFilterMode Then .AutoFilterMode = False
With .Cells(1, 1).CurrentRegion
'build a dictionary so the keys can be used as the array filter
aTMPs = .Columns(1).Cells.Value2
For a = LBound(aTMPs, 1) + 1 To UBound(aTMPs, 1)
Select Case True
Case Not CBool(Len(aTMPs(a, 1)))
dVALs.Item(Chr(61)) = Chr(61) 'blanks
'Case CStr(aTMPs(a, 1)) Like "1*"
Case CStr(aTMPs(a, 1)) Like sValor + "*"
'The set of numbers have to be strings in the array
If Not dVALs.Exists(aTMPs(a, 1)) Then _
dVALs.Add Key:=CStr(aTMPs(a, 1)), Item:=aTMPs(a, 1)
Case Else
'no match. do nothing
End Select
Next a
'test the array
'Dim k As Variant
'For Each k In dVALs.Keys
' Debug.Print k & " - " & dVALs.Item(k)
'Next k
'filter on column B if dictionary keys exist
If CBool(dVALs.Count) Then _
.AutoFilter Field:=1, Criteria1:=dVALs.Keys, _
Operator:=xlFilterValues, VisibleDropDown:=True
'data is filtered on 614* and blanks (column B)
'Perform work on filtered data here
End With
' If .AutoFilterMode Then .AutoFilterMode = False
End With
dVALs.RemoveAll: Set dVALs = Nothing
End Sub
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 18/10/2016 12:38 pm