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