INVERTER FORMATO DE DATA EM ROTINA P EXCEL
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.
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
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?
é isso?
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).
vc tentou exporta td no formato mm/dd/yyyy, tipo já passar a data para o excel nesse formato?
Chutometro: Já tenou alterar as configurações de região de data e hora no Windows para dd/mm/yyyy ?
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.
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.
FFcouto, valeu brother funcionou. A todos que tentaram me ajudar. Obrigadao.
Tópico encerrado , respostas não são mais permitidas