Compartilhar via


Solucionando Problemas: Não é possível obter a propriedade (nome da função) da classe WorksheetFunction (pt-BR)

Definição do problema encontrado

Este artigo visa explicar a origem bem como sugerir solução para o Erro em tempo de execução '1004': Não é possível obter a propriedade (nome da função1) da classe WorksheetFunction.

1"Nome da função" refere-se à função acessada através da classe WorksheetFunction. Por exemplo, o nome da função poderia ser "Match", "VLookup", etc.
**
Aplica-se**

  • VBA Excel (todas as versões) 

Origem do problema

  • O problema, neste caso, indica que a função não pode retornar o valor desejado. Por exemplo, se usamos a função MATCH, o erro indica que a função não conseguiu corresponder o valor procurado na matriz que teoricamente contém o dado buscado. 

Solução do problema

  • Adicione um tratamento de erro ao código VBA. Caso não haja necessidade de intervenção ou aviso ao usuário, utilize On Error Resume Next. Caso contrário, utillize algo como On Erro GoTo Err_Handler (onde Err_Handler é o rótulo do erro) e coloque a mensagem desejada.

Exemplo

1.On Error  Resume Next
lngRowMetaApurada = Application.WorksheetFunction.Match(CLng(lngMetaApuradaData),ThisWorkbook.Sheets("Metas").Range("A1:A65536"), 0)

Alternativamente:

On Error  GoTo Err_Handler
lngRowMetaApurada =  Application.WorksheetFunction.Match(CLng(lngMetaApuradaData), ThisWorkbook.Sheets("Metas").Range("A1:A65536"), 0)
Exit Sub
Err_Handler:
Msgbox "Sua mensagem entra aqui..."

 

Este artigo foi originalmente escrito por:
Robert Martim, Excel MVP
http://www.wordpower.com.br/
http://www.msofficegurus.com/
http://loja.msofficegurus.com/