Código VBA para filtrar uma coluna usando a caixa de entrada

0

Estou procurando filtrar uma coluna com base em um código que o usuário coloca em uma caixa de entrada.

Eu usei o seguinte código:

Sub Filter()
'
' Filter Macro
Dim strName As String
strName = InputBox(“What DMA would you like to search for?”)
Selection.AutoFilter
ActiveSheet.Range("$A$1:$AS$355969").AutoFilter Field:=3, Criteria1:="=*" & strName & “ * ”, Operator:=xlAnd
End Sub

Mas mostra o erro Compile: Erro de sintaxe na macro do Excel

Alguém pode me ajudar por favor?

Obrigado Dhivya S

    
por Dhivya Sethu 28.08.2018 / 07:49

2 respostas

0

Suponho que você deseja a correspondência de caractere curinga para não precisar do espaço em branco adicional no segundo caractere curinga. Além disso, você precisa "" corrigir e desativar o ScreenUpdating é uma boa idéia. Você também pode usar um statememt com seu intervalo. Melhor seria usar um nome de planilha explícito em vez de uma planilha ativa, caso a planilha ativa atual não seja a que você esperava.

Option Explicit
Public Sub Filter()
    Application.ScreenUpdating = False
    Dim strName As String
    strName = InputBox("What DMA would you like to search for?")
    With ActiveSheet.Range("$A$1:$AS$355969")
        .AutoFilter
        .AutoFilter Field:=3, Criteria1:="*" & strName & "*"
    End With
    Application.ScreenUpdating = True
End Sub
    
por 28.08.2018 / 14:14
0

Você pode tentar este código simples para filtrar:

Sub InputFilter()
Dim strInput As String
strInput = InputBox("Enter your value to filter on")
Selection.AutoFilter
ActiveSheet.Range("$A$60:$A$65").AutoFilter Field:=1, Criteria1:=strInput
End Sub

N.B. Lembre-se de que o valor Field no código é ajustável se os critérios corresponderem à coluna 2 para serem filtrados e, em seguida, deve ser Field:=2

Observação: ajuste as referências das células conforme necessário.

    
por 03.09.2018 / 11:14