Necesito que al ejecutar una macro de importación de txt a excel me pregunte por la ruta donde se encuentran los archivos
Buenas,
estoy intentando realizar una macro para que me importe varios archivos txt en excel y los ponga uno a continuación del otro.
He conseguido una macro a través de esta web que me realiza este proceso pero siempre y cuando estos archivos se encuentren en una ruta ya declarada y lo que yo necesito es que antes de importar los txt me pregunte la ruta y poder seleccionarlos con el explorador (multiselección).
Os pongo la ruta que he copiado de la web:
Sub Macro()
Const rutaOrigen As String = "C:\Users\TXITXITAS\Desktop\kk2\"
Const rutaDestino As String = "C:\Users\TXITXITAS\Desktop\kk2\kk\"
Dim miFichero As String
Dim Rango As Variant
'¿Existen archivos de extensión txt en la carpeta original?
miFichero = Dir(rutaOrigen & "*.txt")
Rango = "A1"
Do While miFichero <> ""
MsgBox "Vamos a importar el Fichero: " & rutaOrigen & " --- " & miFichero
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & _
rutaOrigen & miFichero, Destination:=Range(Rango))
.Name = miFichero
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = True
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = True
.TextFileOtherDelimiter = "|"
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Fila = Range("A" & Rows.Count).End(xlUp).Row + 1
Rango = Range("A" & Fila).Address
'Otras Opciones
'milibro = ActiveWorkbook.Name
miFichero = Dir
Loop