¿Cómo importar varios archivos CSV, de texto o XML en Excel de forma rápida?
En Excel, es posible que hayas guardado un libro como archivo CSV, de texto o XML, pero ¿alguna vez has intentado importar varios archivos CSV, de texto o XML desde una carpeta directamente a un libro o a una hoja de cálculo? En este artículo, te presento algunos métodos para importarlos rápidamente en lote.
Importar varios Archivo de Texto desde una carpeta en hojas de cálculo individuales de un libro mediante VBA
Para importar un archivo de texto desde una carpeta a un libro, puede usar el siguiente código VBA y hacerlo en un instante.
1. Abra un libro en blanco y pulse las teclas Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. Haga clic en Insertar > Módulo y pegue el código VBA en la ventana del Módulo.
VBA: Importar todos los Archivo de Texto desde una carpeta en un libro
Sub LoadPipeDelimitedFiles()
'UpdatebyKutoolsforExcel20151214
Dim xStrPath As String
Dim xFileDialog As FileDialog
Dim xFile As String
Dim xCount As Long
On Error GoTo ErrHandler
Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
xFileDialog.AllowMultiSelect = False
xFileDialog.Title = "Select a folder [Kutools for Excel]"
If xFileDialog.Show = -1 Then
xStrPath = xFileDialog.SelectedItems(1)
End If
If xStrPath = "" Then Exit Sub
Application.ScreenUpdating = False
xFile = Dir(xStrPath & "\*.txt")
Do While xFile <> ""
xCount = xCount + 1
Sheets(xCount).Select
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" _
& xStrPath & "\" & xFile, Destination:=Range("A1"))
.Name = "a" & xCount
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileOtherDelimiter = "|"
.TextFileColumnDataTypes = Array(1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
xFile = Dir
End With
Loop
Application.ScreenUpdating = True
Exit Sub
ErrHandler:
MsgBox "no files txt", , "Kutools for Excel"
End Sub 3. Pulse la tecla F5 o haga clic en el botón Ejecutar para ejecutar el código VBA. A continuación, seleccione en el cuadro de diálogo emergente la carpeta «Seleccionar una carpeta» de la que desea importar los archivos de texto. Vea la captura de pantalla:

4. A continuación, haga clic en Aceptar y cada archivo de texto de la carpeta seleccionada se importará en una hoja de cálculo del libro de trabajo actual. Vea la captura de pantalla:



Descubra la magia de Excel con KUTOOLS AI
- Ejecución inteligente: Realice operaciones en celdas, analice datos y cree gráficos con comandos sencillos.
- fórmulas personalizadas: Cree fórmulas a medida para optimizar sus flujos de trabajo.
- Programación en VBA: Escriba e implemente código VBA con facilidad.
- Interpretación de fórmulas: Entienda las fórmulas complejas con facilidad.
- Traducción de texto: Rompa las barreras del idioma directamente en sus hojas de cálculo.
Importar varios archivos csv desde una carpeta en una única hoja mediante VBA
Para importar todos los archivos CSV de una carpeta en una única hoja, puede usar el siguiente código VBA.
1. Abra una hoja de cálculo en blanco y pulse las teclas Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. Haga clic en Insertar > Módulo y pegue el siguiente código VBA en la nueva ventana del Módulo.
VBA: Importar archivos csv desde una carpeta en una única hoja de cálculo
Sub ImportCSVsWithReference()
'UpdatebyKutoolsforExcel20151214
Dim xSht As Worksheet
Dim xWb As Workbook
Dim xStrPath As String
Dim xFileDialog As FileDialog
Dim xFile As String
On Error GoTo ErrHandler
Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
xFileDialog.AllowMultiSelect = False
xFileDialog.Title = "Select a folder [Kutools for Excel]"
If xFileDialog.Show = -1 Then
xStrPath = xFileDialog.SelectedItems(1)
End If
If xStrPath = "" Then Exit Sub
Set xSht = ThisWorkbook.ActiveSheet
If MsgBox("Clear the existing sheet before importing?", vbYesNo, "Kutools for Excel") = vbYes Then xSht.UsedRange.Clear
Application.ScreenUpdating = False
xFile = Dir(xStrPath & "\" & "*.csv")
Do While xFile <> ""
Set xWb = Workbooks.Open(xStrPath & "\" & xFile)
Columns(1).Insert xlShiftToRight
Columns(1).SpecialCells(xlBlanks).Value = ActiveSheet.Name
ActiveSheet.UsedRange.Copy xSht.Range("A" & Rows.Count).End(xlUp).Offset(1)
xWb.Close False
xFile = Dir
Loop
Application.ScreenUpdating = True
Exit Sub
ErrHandler:
MsgBox "no files csv", , "Kutools for Excel"
End Sub 3. Pulse la tecla F5 o haga clic en el botón Ejecutar para ejecutar el código VBA. A continuación, aparecerá un cuadro de diálogo en el que deberá seleccionar la carpeta de la que desea importar todos los archivos CSV. Vea la captura de pantalla:

4. Haga clic en Aceptar y aparecerá otro cuadro de diálogo que le preguntará si desea borrar el contenido de la hoja activa antes de la importación. En ese caso, haga clic en Sí. Vea la captura de pantalla:

Después de hacer clic en Sí, todos los archivos CSV de la carpeta seleccionada se importan en la hoja de cálculo actual, y los datos se colocan desde la columna A hacia la derecha. Vea la captura de pantalla:


Consejo: Si desea colocar los archivos CSV horizontalmente en una hoja de cálculo, puede utilizar el siguiente código VBA.
Sub ImportCSVsWithReferenceI()
'UpdatebyKutoolsforExcel20151214
Dim xSht As Worksheet
Dim xWb As Workbook
Dim xStrPath As String
Dim xFileDialog As FileDialog
Dim xFile As String
Dim xCount As Long
On Error GoTo ErrHandler
Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
xFileDialog.AllowMultiSelect = False
xFileDialog.Title = "Select a folder [Kutools for Excel]"
If xFileDialog.Show = -1 Then
xStrPath = xFileDialog.SelectedItems(1)
End If
If xStrPath = "" Then Exit Sub
Set xSht = ThisWorkbook.ActiveSheet
If MsgBox("Clear the existing sheet before importing?", vbYesNo, "Kutools for Excel") = vbYes Then
xSht.UsedRange.Clear
xCount = 1
Else
xCount = xSht.Cells(3, Columns.Count).End(xlToLeft).Column + 1
End If
Application.ScreenUpdating = False
xFile = Dir(xStrPath & "\" & "*.csv")
Do While xFile <> ""
Set xWb = Workbooks.Open(xStrPath & "\" & xFile)
Rows(1).Insert xlShiftDown
Range("A1") = ActiveSheet.Name
ActiveSheet.UsedRange.Copy xSht.Cells(1, xCount)
xWb.Close False
xFile = Dir
xCount = xSht.Cells(3, Columns.Count).End(xlToLeft).Column + 1
Loop
Application.ScreenUpdating = True
Exit Sub
ErrHandler:
MsgBox "no files csv", , "Kutools for Excel"
End Sub 
Importar varios archivos xml desde una carpeta en una única hoja mediante VBA
Si desea importar todos los archivos XML de una carpeta en una única hoja, puede usar el siguiente código VBA.
1. Seleccione una hoja en blanco donde desee colocar los datos importados y pulse las teclas Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. Haga clic en Insertar > Módulo y pegue el código VBA en la ventana del Módulo.
VBA: Importa archivos XML desde una carpeta directamente a una hoja de cálculo.
Sub From_XML_To_XL()
'UpdatebyKutoolsforExcel20151214
Dim xWb As Workbook
Dim xSWb As Workbook
Dim xStrPath As String
Dim xFileDialog As FileDialog
Dim xFile As String
Dim xCount As Long
On Error GoTo ErrHandler
Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
xFileDialog.AllowMultiSelect = False
xFileDialog.Title = "Select a folder [Kutools for Excel]"
If xFileDialog.Show = -1 Then
xStrPath = xFileDialog.SelectedItems(1)
End If
If xStrPath = "" Then Exit Sub
Application.ScreenUpdating = False
Set xSWb = ThisWorkbook
xCount = 1
xFile = Dir(xStrPath & "\*.xml")
Do While xFile <> ""
Set xWb = Workbooks.OpenXML(xStrPath & "\" & xFile)
xWb.Sheets(1).UsedRange.Copy xSWb.Sheets(1).Cells(xCount, 1)
xWb.Close False
xCount = xSWb.Sheets(1).UsedRange.Rows.Count + 2
xFile = Dir()
Loop
Application.ScreenUpdating = True
xSWb.Save
Exit Sub
ErrHandler:
MsgBox "no files xml", , "Kutools for Excel"
End Sub 3. Haga clic en el botón Ejecutar o pulse la tecla F5 para ejecutar el código VBA y seleccione la carpeta en el cuadro de diálogo emergente «Seleccionar una carpeta». Vea la captura de pantalla:

4. Haga clic en Aceptar y todos los archivos XML de la carpeta seleccionada se importarán en la hoja de cálculo actual.
Importar o combinar varios archivos xml/csv en una hoja o en un libro con Kutools para Excel
Si no está familiarizado con VBA, ¡no se preocupe! Le presentamos una herramienta muy útil: Kutools para Excel. Gracias a su potente función Combinar, podrá unir rápidamente varios archivos XML o CSV en un único libro o en una sola hoja de Excel.
Tras instalar Kutools para Excel, siga estos pasos:(¡Descarga gratuita de Kutools para Excel ahora!)
1. Abra Excel y haga clic en KUTOOLS PLUS > Combinar. Vea la captura de pantalla:
2. En el paso 1 del cuadro de diálogo Combinar, seleccione la opción de separación que mejor se adapte a sus necesidades. Consulte la captura de pantalla:
3. Haga clic en Siguiente para ir al paso 2 del asistente Combinar, haga clic en Agregar para añadir libros de distintas carpetas o archivos de una misma carpeta a la lista de Libros, y también puede especificar las hojas que desea combinar desde la lista de Hojas en la sección derecha. Vea la captura de pantalla:
4. Haga clic en Siguientepara acceder al paso Última del asistente Combinar, donde podrá especificar las opciones de combinación.
5. Haga clic en Finalizar y aparecerá un cuadro de diálogo que le pedirá que seleccione una ubicación para guardar el nuevo resultado combinado. Vea la captura de pantalla:
6. Haga clic en Guardar. ¡Todas las hojas añadidas se han combinado en una única hoja nueva!
Consejo: Con la función Combinar, también puede unir varios archivos CSV procedentes de distintas carpetas o de una sola carpeta en una hoja o en un libro.
Exportar cada hoja como csv/texto/pdf a una carpeta con Kutools para Excel
Si desea exportar cada hoja como archivo CSV, de texto o PDF a una carpeta, la utilidad Kutools para Excel de Separar libro puede ayudarle.
Tras descargar e instalar gratuitamenteKutools para Excel, siga estos pasos:
1. Abra el libro cuyas hojas desea exportar y haga clic en KUTOOLS PLUS > Libro > Separar libro. Vea la captura de pantalla:

2. En el cuadro de diálogo Separar libro, puede seleccionar las hojas que desea exportar; de forma predeterminada, todas están marcadas. Active también la opción Especificar formato de guardado y elija el tipo de archivo en el que desea guardar los documentos en la lista desplegable inferior. Vea la captura de pantalla:

3. Haga clic en Dividir y elija la carpeta donde desea guardar los archivos divididos en el cuadro de diálogo Examinar carpeta. Vea la captura de pantalla:

4. Haga clic en Aceptar y, a continuación, todas las hojas marcadas se habrán exportado como nuevos archivos del tipo seleccionado en la carpeta indicada.
Artículos relacionados:
- ¿Cómo convertir un hipervínculo en texto sin formato en Excel?
- ¿Cómo convertir un número decimal a binario, octal o hexadecimal en Excel, y viceversa?
- ¿Cómo insertar un tipo de cambio en tiempo real en Excel?
Las mejores herramientas de productividad para Office
Potencie sus habilidades en Excel con Kutools para Excel y experimente una eficiencia como nunca antes.Kutools para Excel ofrece más de 300 funciones avanzadas para aumentar su productividad y Ahorrar tiempo.Haga clic aquí para obtener la función que más necesita...
Office Tab aporta una interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Active la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abra y cree varios documentos en nuevas pestañas dentro de la misma ventana, en lugar de hacerlo en ventanas separadas.
- ¡Aumente su productividad en un 50 % y elimine cientos de clics del ratón cada día!
Todos los complementos de Kutools en un solo instalador.
Kutools for Office es la suite que incluye complementos para Excel, Word, Outlook y PowerPoint, además de Office Tab Pro, ideal para equipos que trabajan en distintas aplicaciones de Office.
- Suite integral— complementos para Excel, Word, Outlook y PowerPoint + Office Tab Pro
- Un instalador, una licencia— configuración en minutos (compatible con MSI)
- Rendimiento mejorado en conjunto— productividad optimizada en todas las aplicaciones de Office
- Prueba gratuita de 30 días con todas las funciones— sin registro ni tarjeta de crédito
- La mejor relación calidad-precio— ahorre frente a la compra individual de complementos