FORMATANDO DADOS AO EXPORTAR PARA EXCEL

FERDEAD 10/08/2009 19:21:42
#319505
Olá !

estou exportando os dados para o excel de uma tabela que tenho...
porém, os campos numéricos, aparece como texto... as datas, ficas no formato [Ô]mm/dd/aaaa[Ô]...

gostaria de fazer as datas ficarem corretas, e os valores, aparecerem o modo de dinheiro com R$ ...

o código que estou usando peguei aqui no vbmania mesmo...

   
Screen.MousePointer = vbHourglass
Set vObjExcel = CreateObject([Ô]Excel.Application[Ô]) [ô]Abre o Excel

With vObjExcel

.Workbooks.Add [ô]Cria nova Planilha

Barra.Max = Lista.ListItems.Count
Barra.Value = 0
Barra.Visible = True

For i = 1 To 7
.Cells(1, i) = Lista.ColumnHeaders(i).Text
Next i

For i = 1 To Lista.ListItems.Count
For x = 0 To 6
If x = 0 Then
.Cells(i + 1, x + 1) = Lista.ListItems(i).Text
Else
.Cells(i + 1, x + 1) = [Ô][ô][Ô] & Lista.ListItems(i).SubItems(x)
End If
Next x
Barra.Value = i
Next i

[ô]Ajustando as Dimensões da Tabela...
.Columns([Ô]A:AZ[Ô]).AutoFit
.Rows([Ô]1:65536[Ô]).AutoFit
.Visible = True [ô]Mostra o Excel
End With
Screen.MousePointer = vbDefault
Barra.Visible = False


agradeço as respostas...
THIAGO.CC 11/08/2009 10:10:46
#319552
Bom dia,

é simples trabalhar com formatação do campos no excel com VBA.

segue o exemplo abaixo.

With vObjExcel

.Columns([Ô]A:A[Ô]).Select
.Selection.NumberFormat = [Ô]$#,##0.00[Ô]

.Columns([Ô]B:B[Ô]).Select
.Selection.NumberFormat = [Ô]dd/mm/yyyy[Ô]

End With

No exemplo enviado está selecionando a coluna A inteira para formatar como moeda, depois seleciona a coluna B para formatar como Data.
No seu codigo vc pode formatar assim que vc preenche estes campos.

.Cells(i + 1, x + 1) = Lista.ListItems(i).Text
.Columns(i + 1, x + 1).Select
.Selection.NumberFormat = [Ô]dd/mm/yyyy[Ô]


Testa ai e posta se funcionou.

FERDEAD 11/08/2009 14:55:29
#319577
Tiago, o .colums(...).select gerou um erro...

coloquei .cells(....).select e deu certinho...

só aproveitando o tópico, vc saberia me indicar onde consigo mais informações sobre formatação de dados, bordas de tabelas, gráficos, etc...

já dei uma olhada no google e aqui no vbmania, mas não encontrei nenhum material legal !

Obrigado!
THIAGO.CC 11/08/2009 15:05:49
#319580
Ferdead,

Bom o jeito mais fácil que eu acho de programar em vba é trabalhar via macro no excel , word e ppt, ele gera automaticamente os codigo em vb.
Mas tome cuidado que com o tipo de versão do office que vc estará usando para gerar as macros, pois da ocorre muitos erros de versões, principalmente com o 2007. O correto é ir fazendo e testando em duas versões diferentes como 2003 e 2007.

Thiago
Tópico encerrado , respostas não são mais permitidas