Ola boa noite
preciso de uma ajuda
pois estou tentando fazer uma planilha usando as funções VBA e MACRO para importação de
arquivo TXT.
ja consegui fazer uma parte so que não consigo dar procedimento pois estou seguindo modelos que estou
achando na internet pois meu conhecimento em VBA/MACRO e bem pouco.
e a VBA/MACRO que estou usando e essa
Sub abrirArquivo()
'
' abrirArquivo Macro
' Macro gravada por wasley
'
MsgBox "Selecione o arquivo txt", vbOKOnly, "Seleção de Arquivo"
'ABRIR arquivo
arquivo = " "
Dim fd As FileDialog
Set fd = Application.FileDialog(msoFileDialogFilePicker)
'
Dim X_Funcionarios_Wasley As Variant
With fd
.AllowMultiSelect = True
If .Show = -1 Then
For Each X_Funcionarios_Wasley In .SelectedItems
arquivo = X_Funcionarios_Wasley
Workbooks.OpenText Filename:="arquivo", Origin:= _
xlWindows, StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array(Array(0, _
1), Array(5, 1), Array(6, 1), Array(40, 1), Array(52, 1), Array(65, 1), Array(78, 1), Array( _
91, 1), Array(104, 1), Array(117, 1), Array(130, 1), Array(143, 1), Array(157, 1), Array( _
170, 1), Array(183, 1), Array(196, 1), Array(210, 1), Array(222, 1), Array(235, 1), Array( _
248, 1)), TrailingMinusNumbers:=True
Cells.Select
ActiveWorkbook.Worksheets("Plan1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Plan1").Sort.SortFields.Add Key:=Range( _
"A1:A4156"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Plan1").Sort
.SetRange Range("A1:T4156")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("A1").Select
Columns("B:B").Select
Selection.Delete Shift:=xlToLeft
ActiveWindow.SmallScroll Down:=381
Rows("395:395").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Delete Shift:=xlUp
Columns("A:A").Select
Selection.Insert Shift:=xlToRight
Range("S1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Cut
ActiveWindow.ScrollColumn = 1
Range("A1").Select
ActiveSheet.Paste
Columns("S:S").Select
Selection.Delete Shift:=xlToLeft
Range("A1").Select
Next X_Funcionarios_Wasley
End If
End With
Set fd = Nothing
End Sub
algum pode me auxiliar.
pois todo mês tenho que fazer as mesma planilha por isso estou tentando
ganhar tempo deixando automatizada.
Postado : 24/10/2016 7:30 pm