Desculpa Nelson mas não conseguir entender o que você quis dizer. Bem sem esse código para identifiar o erro o que acontece é que quando eu clico no botão de busca a macro faz um filtro em uma coluna e com o que estiver numa celula ele ele faz o filtro. O programa roda normalmente sem problemas, mas se a célula tiver uma palavra que não tem na coluna a macro depura Erro em tempo de execução '308':
Não foi possível definir a propriedade ListIndex. Valor de propriedade inválido
Quando termina o macro da sequência a minha programação que é a seguinte
Private Sub cmdGRUPO_Click()
cbxGRUPO.Enabled = True
cmdCONFIRMAR.Enabled = True
Geconomico = txtGRUPO.Text
cmdPesquisar.Enabled = True
Range("Capa!S5").Value = "Desativado"
If Geconomico = "" Then
MsgBox " Digite o Grupo Econômico "
Else
UCase (Geconomico)
Range("Capa!R1") = Geconomico
Call Módulo1.MacroGRUPO
cbxGRUPO.Clear
Range("Capa!AB1").Select
Preencher = True
Do While Preencher = True
ActiveCell.Offset(1, 0).Select
If ActiveCell.Value = vbNullString Then
Preencher = False
Else
cbxGRUPO.AddItem ActiveCell.Value
End If
Loop
cbxGRUPO.ListIndex = 0
Range("Capa!A1").Select
End If
End Sub
Sub MacroGRUPO()
'On Error GoTo TrataErro
Dim varGRUPO As String
varGRUPO = Range("Capa!R1").Value
Range("PBT!D:D").AutoFilter Field:=1, Criteria1:="=*" & varGRUPO & "*", Operator:=xlAnd
Range("PBT!A3:BJ40000").Copy
Range("Dados!A3").PasteSpecial
Range("PBT!D:D").AutoFilter
Range("Capa!U2").Select
ActiveSheet.PivotTables("Tabela Dinâmica Grupo Econômico").PivotCache.Refresh
Range("A1").Select
'TrataErro:
' If Err.Number = X Then
' MsgBox "Erro na digitação", vbInformation, "Erro na digitação"
' End
' Exit Sub
' End If
End Sub Quando eu ativo o tratamento do erro, ele manda a msg caso o que tenha na célula não contenha na coluna e exibe a msg Erro na digitação, mas ele também exibe a msg se a célular tiver um conteúdo que contenha na coluna. Ou seja ele ta parando o programa mesmo se a célula estiver com um valor válido ou não. Espero ter sido o mais detalhado possível. Obrigado