Notifications
Clear all

Data invertida ao importar arquivo txt

5 Posts
3 Usuários
0 Reactions
1,075 Visualizações
(@joao2902)
Posts: 2
New Member
Topic starter
 

Olá Pessoal, como vão?

Eu estou com um pequeno problema, ao importar um arquivo de TXT via VBA ele esta invertendo a data. A data no arquivo fonte (txt) está assim "04/09/2017" e ao colar no excel fica desta forma "09/04/2017". Já tentei quase todas as formas possíveis mas vejo que meu conhecimento está muito fraco =/.

Poderia me ajudar com essa? Abaixo está meu VBA.

O problema está acontecendo na Coluna A.

Desde já agradeço!

Sub altas_e_migracoes()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim nome_planilha As String
Dim nome_arquivo As String
nome_planilha = Workbooks(1).Name
 
MsgBox "Selecione o arquivo lojamovel_altas_mig#DD_DDMMM.txt", vbOKCancel, "Altas e Migrações"
 
'ABRIR ARQUIVO
arquivo = " "
 
Dim fd As FileDialog
 
Set fd = Application.FileDialog(msoFileDialogFilePicker)
 
Dim arquivo_temp As Variant
 
With fd
   .AllowMultiSelect = True
   If .Show = -1 Then
      For Each arquivo_temp In .SelectedItems
         arquivo = arquivo_temp
      Next arquivo_temp
   End If
End With
 
Set fd = Nothing
 
Workbooks.OpenText arquivo _
, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier _
        :=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:= _
        False, 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)), _
        TrailingMinusNumbers:=True

Workbooks.OpenText arquivo _

nome_arquivo = Workbooks(2).Name

Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    
    Windows(nome_planilha).Activate
    ActiveWindow.ScrollWorkbookTabs Sheets:=-7
    Sheets("ALTAS E MIGRACAO").Select
    Selection.End(xlUp).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.ClearContents
    Selection.End(xlUp).Select
    Selection.End(xlUp).Select
    ActiveSheet.Paste
    Windows(nome_arquivo).Activate
    ActiveWindow.Close False
    Application.DisplayAlerts = False
    Windows(nome_planilha).Activate
    Sheets("Controle").Select
 
Call upgrade_controle
Application.ScreenUpdating = True
End Sub
 
Postado : 13/09/2017 9:52 am
gfranco
(@wzxnet7)
Posts: 653
Honorable Member
 

Eu faria a importação via Power jQuery pois... Se as datas vidas em invertidas seria mais fácil a transformação.

Resposta útil? Clique na mãozinha ao lado do botão Citar.

 
Postado : 13/09/2017 10:40 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Uma possibilidade:
no trecho:

False, 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)), _
        TrailingMinusNumbers:=True

Identifique qual o Array corresponde a sua data; supondo que seja o primeiro campo -->Array(1,1) altere para Array(1,4)
O quatro; nesse segundo campo Array; informa ao sistema que a data nesse campo e no formato DMA (dia, mes, ano)
Nesse campo: 1=Geral; 2=Texto;3=MDA;4=DMA;5=AMD;6=MAD;7=DAM e 8=ADM; 9=Skip (Não importar esse campo)
Assim deverá importar corretamente

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 13/09/2017 11:30 am
(@joao2902)
Posts: 2
New Member
Topic starter
 

Olá Reinaldo,

Muito obrigado, deu certo aqui!

 
Postado : 13/09/2017 12:00 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde João

Como você é novato, Para facilitar a tua participação no fórum, sugiro tomar conhecimento do conteúdo dos links abaixo:
viewtopic.php?f=7&t=16757
viewtopic.php?f=7&t=203
viewtopic.php?f=7&t=7903
viewtopic.php?f=7&t=3841
viewtopic.php?f=7&t=12600
viewtopic.php?f=7&t=3371

Acessando os links você irá aprender como agradecer( pontuando) os colaboradores.

[]s
Patropi - Moderador

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 13/09/2017 12:52 pm