Saltar al contenido

Extraer datos de un txt usando macro en excel


Recommended Posts

publicado

Grabe una macro en excel donde busco un archivo txt y en el mismo selecciono los campos que requiero, lo que quisiera ver la posibilidad de que pudiera utilizar una macro similar para todos los archivos que a diario me llegan con las mismas caracteristicas, ya que la macro que grabo solo me deja utilizar para ese archivo que grabo.

Adjunto el ejemplo de parte de un txt que use para la macro:

Sub BANESCO()

'

' BANESCO Macro

' EXTRAER LOS DATOS QUE NECESITO

'

'

ChDir _

"C:\Users\Administrador\Dropbox\RED DE COBRANZA\INGRESOS BANCOS\INGRESOS BANCOS\INGRESOS BANESCO\Ingresos 2013\Noviembre"

Workbooks.OpenText Filename:= _

"C:\Users\Administrador\Dropbox\RED DE COBRANZA\INGRESOS BANCOS\INGRESOS BANCOS\INGRESOS BANESCO\Ingresos 2013\Noviembre\(LOTE 4207_1) Banesco.Bansta.20131104.txt" _

, Origin:=xlMSDOS, StartRow:=1, DataType:=xlFixedWidth, FieldInfo:= _

Array(Array(0, 1), Array(6, 1), Array(35, 1), Array(68, 1), Array(81, 1), Array(96, 1), _

Array(100, 1), Array(114, 2), Array(143, 1), Array(224, 1), Array(235, 1), Array(284, 1)) _

, TrailingMinusNumbers:=True

Columns("A:A").Select

Selection.Delete Shift:=xlToLeft

Rows("1:3").Select

Selection.Delete Shift:=xlUp

Range("A1").Select

Selection.Delete Shift:=xlUp

Columns("H:H").Select

ActiveWorkbook.Worksheets("(LOTE 4207_1) Banesco.Bansta.20").Sort.SortFields. _

Clear

ActiveWorkbook.Worksheets("(LOTE 4207_1) Banesco.Bansta.20").Sort.SortFields. _

Add Key:=Range("H1"), SortOn:=xlSortOnValues, Order:=xlAscending, _

DataOption:=xlSortNormal

With ActiveWorkbook.Worksheets("(LOTE 4207_1) Banesco.Bansta.20").Sort

.SetRange Range("A2:K3065")

.Header = xlNo

.MatchCase = False

.Orientation = xlTopToBottom

.SortMethod = xlPinYin

.Apply

End With

Range("H8").Select

Selection.End(xlDown).Select

ActiveWindow.SmallScroll Down:=9

Rows("1463:1463").Select

Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select

Selection.ClearContents

Columns("A:A").Select

Range("A1451").Activate

ActiveWorkbook.Worksheets("(LOTE 4207_1) Banesco.Bansta.20").Sort.SortFields. _

Clear

ActiveWorkbook.Worksheets("(LOTE 4207_1) Banesco.Bansta.20").Sort.SortFields. _

Add Key:=Range("A1451"), SortOn:=xlSortOnValues, Order:=xlAscending, _

DataOption:=xlSortNormal

With ActiveWorkbook.Worksheets("(LOTE 4207_1) Banesco.Bansta.20").Sort

.SetRange Range("A1:K3065")

.Header = xlNo

.MatchCase = False

.Orientation = xlTopToBottom

.SortMethod = xlPinYin

.Apply

End With

Range("A1").Select

ActiveWindow.SmallScroll Down:=18

Rows("26:26").Select

Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select

Selection.ClearContents

ActiveWindow.SmallScroll Down:=-63

Range("B:B,E:E,H:H,I:I,K:K").Select

Range("K1").Activate

Selection.Delete Shift:=xlToLeft

Range("J11").Select

ActiveWindow.SmallScroll Down:=-12

End Sub

(LOTE 4207_1) Banesco.Bansta.20131104.txt

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.