INVERTER FORMATO DE DATA EM ROTINA P EXCEL

BYDUMORAES 10/04/2012 13:50:36
#399465
Pessoal preciso de uma ajuda com o codigo abaixo, esta rotina salva em excel sem problemas, porem estou tendo o problema com exportacao com registro tipo Date do DB. Assim se o resultado da data vai de 01/03/2012 a 10/03/2012, coloca no excel no dormato mm/dd/yyyy e apos 11/03/2012 ele exibe o formato normal: dd/mm/yyyy.

Alguem ja passou por isso, sabe me dar um help para contornar esse problema?

desde já agradeco mais uma vez.

  

Private Sub SalvaExcel()

Dim sSQL As String
Dim sNomeXLS As String
Dim iLinha As Integer, iColuna As Integer

Dim mExcel As excel.Application
Set mExcel = CreateObject([Ô]Excel.Application[Ô])

Dim mWork As excel.Workbook
Dim rsPlan As ADODB.Recordset
Set rsPlan = New ADODB.Recordset

sNomeXLS = Replace(Relexcel, [Ô]\\[Ô], [Ô]\[Ô])
mExcel.Workbooks.Add.SaveAs (sNomeXLS)

Set mWork = mExcel.Workbooks.Open(sNomeXLS)
Set mSheet = mWork.Worksheets.Add

Sql = aqui vai a rotina de consulta ao database para retornar os resultados.


mExcel.DisplayAlerts = True
mExcel.Visible = True
rsPlan.Open Sql, cnn, 1, 3
For iColuna = 0 To rsPlan.Fields.Count - 1
mSheet.Cells.Font.Size = 8
mSheet.Cells(1, iColuna + 1) = rsPlan(iColuna).Name
Next

For iLinha = 1 To rsPlan.RecordCount
For iColuna = 0 To rsPlan.Fields.Count - 1


mSheet.Cells(iLinha + 1, iColuna + 1) = Trim(rsPlan(iColuna).value)


Next
rsPlan.MoveNext
Next

rsPlan.Close
mSheet.Range([Ô]A1:BA1[Ô]).EntireColumn.AutoFit

End Sub

EDMARMUNHOZ 12/04/2012 10:35:11
#399674
Cara dexa eu ver se entendi vc está exportando no formato mm/dd/yyyy e o excel está exibindo essa data no formato dd/mm/yyyy ?
é isso?
BYDUMORAES 12/04/2012 10:37:54
#399675
Fala EDMAR, é o contrario, o que acontece que de 01/03 ate 12/03 ele exporta no formato : mm/dd/yyyy, e a partir de 13/03 ele exporta no formato correto ( mm/dd/yyyy).
EDMARMUNHOZ 12/04/2012 10:45:03
#399676
vc tentou exporta td no formato mm/dd/yyyy, tipo já passar a data para o excel nesse formato?
ALEVALE 12/04/2012 11:17:56
#399677
Chutometro: Já tenou alterar as configurações de região de data e hora no Windows para dd/mm/yyyy ?
FFCOUTO 12/04/2012 11:51:28
#399681
Resposta escolhida
Basta informar a formatação de número para a coluna

For iLinha = 1 To rsPlan.RecordCount
For iColuna = 0 To rsPlan.Fields.Count - 1
[txt-color=#0000f0] If rsPlan(iColuna).Name = [Ô]data_emissao[Ô] then
mSheet.Cells(iLinha + 1, iColuna + 1).NumberFormat = [Ô]dd/mm/yyyy[Ô]
mSheet.Cells(iLinha + 1, iColuna + 1).FormulaR1C1 = r([Ô]data_emissao[Ô])
Else
[/txt-color] mSheet.Cells(iLinha + 1, iColuna + 1) = Trim(rsPlan(iColuna).value)
[txt-color=#0000f0] End If [/txt-color]
Next
Next

Espero ter ajudado.
BYDUMORAES 12/04/2012 12:05:46
#399684
FFcouto, valeu brother funcionou. A todos que tentaram me ajudar. Obrigadao.
Tópico encerrado , respostas não são mais permitidas