+2 votos
49 visitas

Ao tentar executar uma macro de tabela no WES, apresenta a mensagem:

Segue abaixo a declaração das variáveis da macro citada na mensagem do erro:

Dim giNivelCustom, giNivel1Custom, giNivel2Custom, giNivel3Custom As Integer

 

 

 

por (25 pontos) | 49 visitas

1 Resposta

0 votos
Melhor resposta

As variáveis globais do VBA precisam ser de tipos primitivos (Integer, String, etc).

Isto porque o Provider precisa serializar e deserializar os valores quando o contexto é transferido de um provider para outro (insert para post, por exemplo).

No caso desta macro em questão, ao que parece o programador cometeu uma falácea na declaração das variáveis, pois em outras linguagens as variáveis giNivelCustom, giNivel1Custom, giNivel2Custom seriam igualmente do tipo Integer, porém em VBA elas estão sem tipo (ou seja: Variant) e apenas a giNivel3Custom é que está como Integer.

Para funcionar teria que alterar para:

Dim gnNivelCustom as Integer, giNivel1Custom as Integer, giNivel2Custom as Integer, giNivel3Custom as Integer

 

por (569 pontos)
selecionada por
Melhores Aug 2025
    200 pontos
    Melhores 2025 Jul 28 - Aug 03
    1. Larson

      156 Pontos

    2. danilo.pereira

      96 Pontos

    3. danilo.pereira

      96 Pontos

    4. danilo.pereira

      96 Pontos

    5. luciano.fronza

      61 Pontos

    6. luciano.fronza

      61 Pontos

    7. luciano.fronza

      61 Pontos

    8. diuari.molinari

      52 Pontos

    9. diuari.molinari

      51 Pontos

    10. diuari.molinari

      51 Pontos

    517 perguntas
    566 respostas
    389 comentários
    704 usuários