O erro de incompatibilidade de tipo em Excel VBA ocorre quando você tenta atribuir um valor a uma variável que não é do tipo correto.
Coloque um botão de comando em sua planilha e adicione as seguintes linhas de código:
Dim number As Integer
número = "bicicleta"
Resultado quando você clica no botão de comando na planilha:
Explicação: você não pode atribuir um valor de string (bicicleta) a uma variável do tipo Inteiro.
O erro de incompatibilidade de tipo (erro em tempo de execução 13) geralmente ocorre ao usar a função InputBox no Excel VBA.
1. Coloque um botão de comando em sua planilha e adicione as seguintes linhas de código:
Dim number As Integer
number = InputBox ("Digite um número", "Raiz quadrada")
MsgBox "A raiz quadrada de" & número & "é" & Sqr (número)
2. Clique no botão de comando na planilha, insira o valor da string cem e clique em OK.
Resultado:
3. Clik End.
4. Para exibir uma mensagem amigável em vez do erro de incompatibilidade de tipo, atualize o código da seguinte maneira.
Dim número como variante
number = InputBox ("Digite um número", "Raiz quadrada")
If IsNumeric (number) Then
MsgBox "A raiz quadrada de" & número & "é" & Sqr (número)
Outro
MsgBox "Digite um número"
Fim se
Explicação: uma variável do tipo Variant pode conter qualquer tipo de valor (consulte a primeira linha). A função IsNumeric no Excel VBA verifica se um valor é um número.
5. Repita a etapa 2.
Resultado:
6. Finalmente, verifique se esta calculadora simples de raiz quadrada funciona.
Resultado:
Dica: baixe o arquivo Excel (lado direito desta página) e experimente.