Corrigir Erro 438 do VBA – O Objeto Não Aceita Essa Propriedade ou Método
Este artigo irá demonstrar como Corrigir o Erro 438 do VBA – O Objeto Não Aceite Essa Propriedade ou Método.
O Erro 438 é uma ocorrência frequente no VBA Excel e é causado tanto pela omissão de uma propriedade ou método ao fazer referência a um objeto, quanto por utilizar uma propriedade ou método que não está disponível para um determinado objeto no VBA.
Checando o Código VBA para Corrigir o Erro 438
Vamos examinar o código a seguir:
Sub RemoverPlanilha()
Dim wbPastaTrab As Workbook
Dim wsPlanilha As Worksheet
Dim nomePlanilha As String
nomePlanilha = "Planilha1"
Set wbPastaTrab = ActiveWorkbook
For Each wsPlanilha In wbPastaTrab.Sheets
If wsPlanilha = nomePlanilha Then
wbPastaTrab.Sheets(nomePlanilha).Delete
Exit For
End If
Next wsPlanilha
End Sub
Se executarmos esse código, o Erro 438 ocorrerá.
Para resolver este problema, clicaremos em Depurar para ver onde o erro está ocorrendo.
A linha de código destacada em amarelo está tentando comparar a planilha (representada pela variável wsPlanilha) com o Nome da Planilha. Isto não é possível, pois a planilha é um objeto, enquanto que o Nome da Planilha é uma String (cadeia de caracteres), por isso, o Erro 438 acionado.
Para resolver isto, compare a string nomePlanilha com o propriedade Name do objeto worksheet:
wsPlanilha.name = nomePlanilha
Agora o código pode ser executado sem problemas!
Para exibir uma lista de todas as propriedades ou métodos que estão disponíveis para o objeto worksheet, nós podemos digitar um “ponto” ( .) após digitar o nome do objeto.
Isto invoca o recurso Intellisense do Editor VBA. Para garantir que o Intellisense está ativo, vá até o menu Ferramentas > Opções e deixe marcada a opção “Autolistar membros” e clique OK.
NOTA: Esta opção fica marcada por padrão.
Você também pode encontrar uma lista de todas as Propriedades, Métodos e Eventos para um Objeto do Excel no Pesquisador de Objeto.
No Menu, selecione Exibir > Pesquisador de Objeto ou pressione F2 (Veja mais Atalhos do VBE).
Uma lista de classes e objetos irá aparecer no lado esquerdo da tela. Se você clicar no objeto que deseja utilizar (por exemplo: Workbook), uma lista de todas as Propriedades, Métodos e Eventos que esse objeto suporta aceita irá aparecer no lado direito da tela. (exemplo: Membros de Workbook).