Macro que Importa TXT a excel

Agradezco de antemano la ayuda prestada, lo que sucede es que necesito que cuando escoja el archivo TXT desde un userForm, y presione el botón aceptar lo pegue en la ultima celda de la hoja, ya que es una base de datos que se va llenado de manera mensual, y por lo tanto la celda cambia con frecuencia. Esto es lo que he realizado hasta ahora pero no he podido ejecutarlo.

Private Sub cmdAceptar_Click()
Application.ScreenUpdating = False
Dim Celda As Byte
HojaBaseDT.Range("C1").Select
Selection.End(xlDown).Offset(1, 0).Select
ActiveCell = Celda
Celda = lbArchivotxt.Caption
Unload Me
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;lbarchivotxt" _
, Destination:=ActiveCell)
.Name = "COMISIONES POS 2DA Q. SEPTIEMBRE 2013"
.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 = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub
Private Sub CmdArchivoTXT_Click()
Dim ArchivoTXT As String
ArchivoTXT = Application.GetOpenFilename("Archivo de texto (*.txt), *txt")
If ArchvioTXT <> "Falso" Then
lbArchivotxt.Caption = ArchivoTXT
End If
End Sub

Envío el código donde se escoge el archivo en el frm.

1 respuesta

Respuesta
1

Borra esta línea

Dim Celda As Byte

Cambia esta

With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;lbarchivotxt" _
, Destination:=ActiveCell)

Por esta

With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & Celda, Destination:=ActiveCell)

Cuando ejecutes la macro, primero debes seleccionar el archivo y luego ejecutar la carga.

Saludos. DAM
Si es lo que necesitas.

Buenas, de antemano agradezco la ayuda prestada, pero se me presentó otro problema, un error de tipo 1004 en tiempo de ejecución. Dice que no se puede tener acceso al archivo. Intente lo siguiente: Compruebe que la carpeta especifica existe. Compruebe que la carpeta que contiene el archivo no es sólo

Primero tienes que ejecutar esta macro

Private Sub CmdArchivoTXT_Click()
Dim ArchivoTXT As String
ArchivoTXT = Application.GetOpenFilename("Archivo de texto (*.txt), *txt")
If ArchvioTXT <> "Falso" Then
lbArchivotxt.Caption = ArchivoTXT
End If
End Sub

Ya que el label "lbArchivotxt" tiene el nombre del archivo, debes presionar el otro botón

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas