none
Formato de Número VBA Excel 2013 RRS feed

  • Pergunta

  • Boa tarde,

    No ano passado havia desenvolvido uma ferramenta em Excel (na época Excel 2010) que continha alguns gráficos. Para ajudar na construção dos gráficos, construi uma macro que formatava o rótulo das séries dos gráficos para número com duas casas decimais (exemplo: Sheets("Grafico Comparativo").ChartObjects("Gráfico 2").Chart.SeriesCollection("Verde").DataLabels.NumberFormat = "0.00;0.00;""""")

    No entanto, os computadores da minha empresa foram atualizados para Excel 2013, que está lendo o formato dos números no VBA no padrão brasileiro. Portanto, para a macro funcionar corretamente, é necessário trocar o ponto (.) por vírgula (,). (exemplo anterior: Sheets("Grafico Comparativo").ChartObjects("Gráfico 2").Chart.SeriesCollection("Verde").DataLabels.NumberFormat = "0,00;0,00;""""")

    O problema em questão é que o cliente para o qual trabalho ainda utiliza o Office 2010. E mesmo que o Office 2010 esteja em português (BR), os códigos no VBA são lidos no formato inglês, tanto que, quando desenvolvi a ferramenta, o código era no padrão americano. Então, atualmente, temos alguns computadores que leem os códigos na formatação brasileira, e outros que leem na formatação americana.

    Peço auxílio para, ou converter a leitura dos códigos no Excel 2013 para o formato americano, ou alguma forma de identificar na macro que, caso seja Excel 2010, deve ser lido da forma A, e caso seja Excel 2013, deve ser lido da forma B.

    Atenciosamente,

    segunda-feira, 15 de junho de 2015 21:41

Respostas

  • Boa noite Matheus.

    Essa particularidade eu ainda não conhecia, pois ainda não utilizo o Excel 2013. Porém, para identificar a versão do Excel é muito fácil. O Excel 2007 é a versão 12 e o 2010 a 14. Então basta usar algo do tipo:

    If Val(Application.Version) > 14 Then
        'Excel 2013...

    Abraço.


    Filipe Magno

    segunda-feira, 15 de junho de 2015 22:49

Todas as Respostas

  • Boa noite Matheus.

    Essa particularidade eu ainda não conhecia, pois ainda não utilizo o Excel 2013. Porém, para identificar a versão do Excel é muito fácil. O Excel 2007 é a versão 12 e o 2010 a 14. Então basta usar algo do tipo:

    If Val(Application.Version) > 14 Then
        'Excel 2013...

    Abraço.


    Filipe Magno

    segunda-feira, 15 de junho de 2015 22:49
  • Boa tarde Filipe,

    Funcionou perfeitamente.

    Obrigado pela dica.

    Abraço.

    quinta-feira, 2 de julho de 2015 18:15