Esperei um tempoa até conseguir estruturar uma resposta e consegui algumas coisas, isto é, essa conversão automática que comentei no final e disse que estava atrapalhando acontece por causa do text to columns que utilizo no vba.
Esse é o código que rodo no VBA
wsSLA.Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, DataType:=xlDMYFormat, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1 _
), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array _
(20, 1), Array(21, 1), Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1), _
Array(27, 1), Array(28, 1)), TrailingMinusNumbers:=True
Essas são algumas linhas que estão no meu arquivo csv.
01000000;"Nome";"Nome";"Status";"16/03/2017 20:21";"16/03/2017 20:21";"Telefone";"Texto";"Texto2";"";"";"";"";"";"";"";"";"";"";"";"";"";"Texto";"Texto2";"";"0";"0";"0"
01000000;"Nome";"Nome";"Status;"11/08/2017 12:20";"16/03/2017 20:21";"Telefone";"Texto";"Texto2";"";"";"";"";"";"";"";"";"";"";"";"";"";"Texto";"Texto2";"";"0";"0";"0"
Quando rodo o vba o resultado é diferente, pois na primeira linha ele entende mantém o padrão BR de datas e o valor sai como deveria. Na segunda linha ele converte para o padrão EN de data e altera o valor da variavel numerica e com isso quando jogo funcões como DAY ou MONTH na celula o resultado sai errado.
A segunda linha ele converte as datas para o padrão númeiro fica algo do tipo 43047,51389 já na primeira linha fica exatamente igual 16/03/2017 20:21 e isso está acabando com o restante da planilha.
Colocar no texttocolumns a opção de converter como texto não funciona.
Alguma sugestão?
Postado : 23/08/2017 6:05 pm