Vba: como usar a função match com datas


Você pode usar a seguinte sintaxe para usar a função MATCH para encontrar uma data no VBA:

 SubMatchDate ()
    
'attempt to find date in range
On Error GoTo NoMatch
    MyMatch = WorksheetFunction.Match(CLng(CDate(" 4/15/2023 ")), Range(" A2:A10 "), 0)
    MsgBox (MyMatch)
End
    
'if no date found, create message box to tell user
NoMatch:
    MsgBox (" No Match Found ")
End

End:
End Sub

Este exemplo específico procura a data 15/04/2023 no intervalo A2:A10 .

Se a data for encontrada, uma caixa de mensagem aparecerá informando ao usuário qual linha do intervalo contém a data.

Se a data não for encontrada, aparecerá uma caixa de mensagem dizendo “Nenhuma correspondência encontrada” para que o usuário saiba que a data não existe no intervalo.

O exemplo a seguir mostra como usar essa sintaxe na prática.

Nota : A função CDate converte uma string de texto em uma data no VBA.

Exemplo: usando a função MATCH com datas em VBA

Suponha que temos a seguinte lista de datas no intervalo A2:A10 no Excel:

Podemos criar a seguinte macro para encontrar o número da linha que contém a data 15/04/2023 no intervalo A2:A10 :

 SubMatchDate ()
    
'attempt to find date in range
On Error GoTo NoMatch
    MyMatch = WorksheetFunction.Match(CLng(CDate(" 4/15/2023 ")), Range(" A2:A10 "), 0)
    MsgBox (MyMatch)
End
    
'if no date found, create message box to tell user
NoMatch:
    MsgBox (" No Match Found ")
End

End:
End Sub

Quando executamos esta macro, recebemos a seguinte saída:

A caixa de mensagem informa que a data 15/04/2023 foi encontrada na linha do intervalo A2:A10 .

Observe que se pesquisássemos a data 25/04/2023 , receberíamos o seguinte resultado:

A caixa de mensagem informa que a data 25/04/2023 não foi encontrada no intervalo.

Nota : Você pode encontrar a documentação completa do método Match em VBA aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:

VBA: como usar XLOOKUP
VBA: Como usar correspondência de índice
VBA: Como usar INDEX MATCH com vários critérios

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *