Usuário com melhor resposta
Formato de Número VBA Excel 2013

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,
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
- Sugerido como Resposta André Santo quinta-feira, 2 de julho de 2015 18:38
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sábado, 11 de julho de 2015 16:51
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
- Sugerido como Resposta André Santo quinta-feira, 2 de julho de 2015 18:38
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sábado, 11 de julho de 2015 16:51
-