Tipos incompatíveis (Erro 13)

O Visual Basic pode converter e impor diversos valores para realizar atribuições de tipos de dados, que não eram possíveis em versões anteriores.

No entanto, esse erro poderá ainda ocorrer e tem as seguintes causas e soluções:

  • Causa: A variável ou propriedade não é do tipo correto. For example, a variable that requires an integer value can't accept a string value unless the whole string can be recognized as an integer.

Solução: Tentar fazer atribuições somente entre tipos de dados compatíveis. Por exemplo, um Inteiro sempre pode ser atribuído a uma Longo, um Único pode ser atribuído a um Duplo e qualquer tipo (exceto um tipo definido pelo usuário) pode ser atribuído a uma Variante.

  • Causa: um objeto passou por um procedimento que exige uma propriedade ou valor único.

Solução: passe a propriedade única adequada ou estabeleça um método adequado para o objeto.

  • Causa: um nome de módulo ou de projeto foi utilizado, onde era esperada uma expressão; por exemplo:

      Debug.Print MyModule 
    

Solução: Especifique uma expressão que possa ser exibida.

  • Causa: Você tentou misturar a manipulação de erros tradicionais do Basic a valores Variante com o subtipo Erro (10, vbError), por exemplo:

      Error CVErr(n) 
    

Solução: Para regenerar um erro, é necessário mapeá-lo para um erro intrínseco do Visual Basic ou para um erro definido pelo usuário e, em seguida, gerar esse erro.

  • Causa: Um valor CVErr não pode ser convertido em Data. Por exemplo:

      MyVar = CDate(CVErr(9)) 
    

Solução: Use uma instrução Selecionar Caso ou uma construção semelhante para mapear o retorno do CVErr para tal valor.

  • Causa: No tempo de execução, esse erro normalmente indica que uma Variante usada na expressão tem um subtipo incorreto ou a Variante contendo uma matriz aparece na instrução Print #.

Solução: para imprimir matrizes, crie um loop que exibirá todos os elementos individualmente.

Saiba mais selecionando o item em questão e pressionando F1 (no Windows) ou HELP (no Macintosh).

Observação

Interessado em desenvolver soluções que ampliem a experiência do Office em várias plataformas? Confira o novo modelo de Suplementos do Office. Os suplementos do Office ocupam um pequeno espaço em comparação com os suplementos e as soluções do VSTO, e você pode criá-los usando quase qualquer tecnologia de programação da Web, como o HTML5, JavaScript, CSS3 e XML.

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.