- 14 Mai 2021 às 10:39
#64624
Pessoal
Se alguem puder me ajudar/orientar.
Situação: VBA invertendo datas na hora da importação
Todo dia, preciso alimentar a planilha "TESTE1.XLSM" com os dados do arquivo "TESTEDATA.CSV".
Quando eu copio "na mão" as colunas com dados de datas, no Ctrl C + Ctrl V, funciona certinho.
Na coluna E da teste1, os dados aparecem certos(positivos).
Mas quando coloco pra rodar na macro, as datas se invertem, e a formula dependente fica com dados negativos.
Como faz a macro:
Tenho a Planilha Teste1.xlsm,
abro o arquivo Testedata.csv,
nele faço texto para colunas(Delimitado+Tabulação+Vírgula+Concluir),
Copio toda ela e Colo na Teste1
Na coluna E, Dias em Backlog, os dados ficam negativos, o correto seriam dias positivos.
Anexei os arquivos com o script tambem. (o arquivo TESTEDATA.csv.zip é um CSV, só tirar o .zip do fim)
ps: ouvi que é algo do VBA x Excel, e a função Cdate, mas nao sei como incluir ela no script.
============script
Sub Macro1()
'
' Macro1 Macro
'
'inicia fazendo a limpeza dos dados anteriores
Windows("TESTE1.xlsm").Activate
Sheets("Planilha1").Select
Range("A2:D2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
Range("A2").Select
ChDir "C:\Users\jackson.santos\Downloads"
Range("A1").Select
'ABRO O ARQUIVO
Workbooks.Open Filename:="C:\Users\jackson.santos\Downloads\TESTEDATA.csv"
'FACO TEXTO PARA COLUNAS: DELIMITADO + TABULAÇÃO + VIRGULA + CONCLUIR
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1)), TrailingMinusNumbers:= _
True
'COPIO TODOS OS DADOS
Range("A2:D2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("TESTE1.xlsm").Activate
Sheets("Planilha1").Select
Range("A2").Select
ActiveSheet.Paste
MsgBox "FIM", vbInformation
End Sub
====
Sub Macro1()
'
' Macro1 Macro
'
'inicia fazendo a limpeza dos dados anteriores
Windows("TESTE1.xlsm").Activate
Sheets("Planilha1").Select
Range("A2:D2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
Range("A2").Select
ChDir "C:\Users\simeao\Downloads"
Range("A1").Select
'ABRO O ARQUIVO
Workbooks.Open Filename:="C:\Users\simeao\Downloads\TESTEDATA.csv"
'FACO TEXTO PARA COLUNAS: DELIMITADO + TABULAÇÃO + VIRGULA + CONCLUIR
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1)), TrailingMinusNumbers:= _
True
'COPIO TODOS OS DADOS
Range("A2:D2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("TESTE1.xlsm").Activate
Sheets("Planilha1").Select
Range("A2").Select
ActiveSheet.Paste
MsgBox "FIM", vbInformation
End Sub
Se alguem puder me ajudar/orientar.
Situação: VBA invertendo datas na hora da importação
Todo dia, preciso alimentar a planilha "TESTE1.XLSM" com os dados do arquivo "TESTEDATA.CSV".
Quando eu copio "na mão" as colunas com dados de datas, no Ctrl C + Ctrl V, funciona certinho.
Na coluna E da teste1, os dados aparecem certos(positivos).
Mas quando coloco pra rodar na macro, as datas se invertem, e a formula dependente fica com dados negativos.
Como faz a macro:
Tenho a Planilha Teste1.xlsm,
abro o arquivo Testedata.csv,
nele faço texto para colunas(Delimitado+Tabulação+Vírgula+Concluir),
Copio toda ela e Colo na Teste1
Na coluna E, Dias em Backlog, os dados ficam negativos, o correto seriam dias positivos.
Anexei os arquivos com o script tambem. (o arquivo TESTEDATA.csv.zip é um CSV, só tirar o .zip do fim)
ps: ouvi que é algo do VBA x Excel, e a função Cdate, mas nao sei como incluir ela no script.
============script
Sub Macro1()
'
' Macro1 Macro
'
'inicia fazendo a limpeza dos dados anteriores
Windows("TESTE1.xlsm").Activate
Sheets("Planilha1").Select
Range("A2:D2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
Range("A2").Select
ChDir "C:\Users\jackson.santos\Downloads"
Range("A1").Select
'ABRO O ARQUIVO
Workbooks.Open Filename:="C:\Users\jackson.santos\Downloads\TESTEDATA.csv"
'FACO TEXTO PARA COLUNAS: DELIMITADO + TABULAÇÃO + VIRGULA + CONCLUIR
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1)), TrailingMinusNumbers:= _
True
'COPIO TODOS OS DADOS
Range("A2:D2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("TESTE1.xlsm").Activate
Sheets("Planilha1").Select
Range("A2").Select
ActiveSheet.Paste
MsgBox "FIM", vbInformation
End Sub
====
Sub Macro1()
'
' Macro1 Macro
'
'inicia fazendo a limpeza dos dados anteriores
Windows("TESTE1.xlsm").Activate
Sheets("Planilha1").Select
Range("A2:D2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
Range("A2").Select
ChDir "C:\Users\simeao\Downloads"
Range("A1").Select
'ABRO O ARQUIVO
Workbooks.Open Filename:="C:\Users\simeao\Downloads\TESTEDATA.csv"
'FACO TEXTO PARA COLUNAS: DELIMITADO + TABULAÇÃO + VIRGULA + CONCLUIR
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1)), TrailingMinusNumbers:= _
True
'COPIO TODOS OS DADOS
Range("A2:D2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("TESTE1.xlsm").Activate
Sheets("Planilha1").Select
Range("A2").Select
ActiveSheet.Paste
MsgBox "FIM", vbInformation
End Sub
Você não está autorizado a ver ou baixar esse anexo.