Como corrigir o erro 13 do vba?
Uma incompatibilidade de tipo (erro 13) ocorre quando você tenta especificar um valor para uma variável que não corresponde ao seu tipo de dados. No VBA, ao declarar uma variável, você precisa definir seu tipo de dados e, ao especificar um valor diferente desse tipo de dados, obtém o erro de incompatibilidade tipo 13.
Neste tutorial, veremos quais são as possíveis situações em que o erro de execução 13 pode ocorrer durante a execução de um código.
Erro de incompatibilidade de tipo de data
No VBA existe um tipo de dados específico para lidar com datas e às vezes isso acontece quando você usa uma variável para armazenar uma data e o valor especificado é diferente.
No código a seguir, declarei uma variável como data e especifiquei o valor da célula A1 onde devo ter apenas uma data. Mas como você pode ver, a data que tenho na célula 1 não está no formato correto, o VBA não consegue identificá-la como uma data.
Sub myMacro() Dim iVal As Date iVal = Range("A1").Value End Sub
Erro de incompatibilidade de tipo com número
Você receberá o mesmo erro ao lidar com números, onde obterá um valor diferente ao tentar especificar um número para uma variável.
No exemplo a seguir, você tem um erro na célula A1 que deveria ser um valor numérico. Portanto, quando você executa o código, o VBA mostra o erro de tempo de execução 13 porque não consegue identificar o valor como um número.
Sub myMacro() Dim iNum As Long iNum = Range("A6").Value End Sub
Erro de tempo de execução 6 Estouro
No VBA, existem vários tipos de dados para lidar com números e cada um desses tipos de dados possui um intervalo de números que você pode atribuir a ele. Mas há um problema quando você especifica um número que está fora do intervalo do tipo de dados.
Nesse caso, mostraremos o estouro do erro de tempo de execução 6, que indica que você precisa alterar o tipo de dados e o número especificado está fora do intervalo.
Outras situações em que isso pode acontecer
Pode haver outras situações em que você pode enfrentar o erro de tempo de execução 14: Incompatibilidade de tipo.
- Quando você atribui um intervalo a uma tabela, mas esse intervalo consiste em apenas uma célula.
- Quando você define uma variável como um objeto, mas ao escrever o código você está especificando um objeto diferente daquela variável.
- Quando você especifica uma variável como uma planilha, mas usa a coleção de planilhas no código ou vice-versa.
Como corrigir incompatibilidade de tipo (Erro 13)
A melhor maneira de lidar com esse erro é acessar a instrução para executar uma linha específica de código ou exibir uma caixa de mensagem ao usuário quando o erro ocorrer. Mas você também pode verificar o terreno passo a passo antes de executá-lo. Para isso, você precisa usar a ferramenta de depuração VBA, ou também pode usar a tecla de atalho F8.