Saltar al contenido

Macro que importe Archivo de Texto y lo acomode en columnas


Recommended Posts

publicado

Buenas Tardes,

Necesito ayuda con la creación de una macro que al presionar un botón pueda indicarle un archivo de texto donde me extraiga la siguiente información:

De las Lineas que comiencen por 2

Celda A(Rif) := J000122555

Celda C(Factura) = 00000338986

Celda D(Cuenta)= 00000000000511849

De las Lineas que comiencen por 1Celda B (Cliente) = MONTALBAN

Ejemplo

10580108J000122555 000000000005118492013020400008609001040032MONTALBAN 01080130370100046269

2J000122555 000000000338986B00000000000511849 00000000000000000000000000000000000000000000000000000000000000511849B

10580108J000089329 000000000002817112013020400008611401040300MARACAIBO AV. 2001080130370100046269

2J000089329 000000000102070B00000000000281711 00000000000000000000000000000000000000000000000000000000000000281711B

1302040065VE.txt

Book1.xls

  • 2 weeks later...
publicado

Buenos Dias,

Buscando entre una cosa y otra he dado con las respuesta mi pregunta, y comparto el archivo que queria para que lo tengan como referncia si es que alguien esta buscando algo parecido:

Lamentablemente por peso no puedo agregar el archivo final, pero les agrego la macro..


Sub ImportTXT()
'
' ImportTXT Macro
' Importacion de Recaudaciones BBVA
'
' Keyboard Shortcut: Ctrl+i
'
Sheets("Filtro").Select
Range("A2").Select

Dim fName As Variant
fName = Application.GetOpenFilename()
If fName <> False Then
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & fName, Destination:=Range("$A$1") _
)
.Name = "BBVA"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1252
.TextFileStartRow = 1
.TextFileParseType = xlFixedWidth
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 2, 9, 1, 9, 1, 9, 1, 9)
.TextFileFixedColumnWidths = Array(1, 10, 43, 10, 1, 17, 3, 5)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End If

Rows("1:1").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Selection.AutoFilter
ActiveSheet.Range("$A$1:$J$1").AutoFilter Field:=1, Criteria1:="2"
Range("B3:C1000,F3:G1000").Select
Range("F3").Activate
Application.CutCopyMode = False
Selection.Copy
Sheets("Importacion").Select
Range("A2").Select
ActiveSheet.Paste
'
End Sub

[/CODE]

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.