¿Cómo importar rápidamente varios archivos csv/texto/xml en Excel?
En Excel, es posible que hayas intentado guardar un libro como archivo csv, archivo de texto o archivo xml, pero ¿has probado alguna vez a importar múltiples archivos csv/texto/xml desde una carpeta a un libro o una hoja de cálculo? En este artículo, te presento algunos métodos para importarlos rápidamente en lote.
Importar múltiples archivos de texto desde una carpeta a cada hoja de cálculo de un libro con VBA
Para importar archivos de texto desde una carpeta a un libro, puedes usar el siguiente código VBA para manejarlo rápidamente.
1. Abre un libro en blanco y presiona las teclas Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. Haz clic en Insertar > Módulo, y pega el VBA en la ventana del Módulo.
VBA: Importar todos los archivos de texto desde una carpeta a 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. Presiona la tecla F5 o haz clic en el botón Ejecutar para ejecutar el VBA, y selecciona una carpeta desde la cual deseas importar los archivos de texto en el cuadro de diálogo emergente. Ver captura de pantalla:
4. Haz clic en Aceptar, y cada archivo de texto en la carpeta seleccionada se ha importado en una hoja de cálculo del libro activo. Ver captura de pantalla:



Descubre la Magia de Excel con Kutools AI
- Ejecución Inteligente: Realiza operaciones en celdas, analiza datos y crea gráficos, todo impulsado por comandos simples.
- Fórmulas Personalizadas: Genera fórmulas adaptadas para optimizar tus flujos de trabajo.
- Codificación VBA: Escribe e implementa código VBA sin esfuerzo.
- Interpretación de Fórmulas: Comprende fórmulas complejas con facilidad.
- Traducción de Texto: Supera las barreras del idioma dentro de tus hojas de cálculo.
Importar múltiples archivos csv desde una carpeta a una sola hoja con VBA
Para importar todos los archivos csv de una carpeta en una sola hoja, puedes usar el siguiente código VBA.
1. Activa una hoja de cálculo en blanco y presiona las teclas Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. Haz clic en Insertar > Módulo, y pega el siguiente VBA en la nueva ventana de Módulo.
VBA: Importar archivos csv desde una carpeta a una 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. Presiona la tecla F5 o haz clic en el botón Ejecutar para ejecutar el VBA, y aparecerá un cuadro de diálogo para seleccionar una carpeta desde la cual deseas importar todos los archivos csv. Ver captura de pantalla:
4. Haz clic en Aceptar, y aparecerá un cuadro de diálogo para recordarte si deseas borrar el contenido de la hoja de cálculo activa antes de importar; aquí hago clic en Sí. Ver captura de pantalla:
Después de hacer clic en Sí, todos los archivos csv en la carpeta seleccionada se han importado en la hoja actual, colocando los datos desde la columna A hacia la derecha. Ver captura de pantalla:


Consejo: Si deseas colocar los archivos csv horizontalmente en una hoja de cálculo, puedes usar el siguiente 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 múltiples archivos xml desde una carpeta a una sola hoja con VBA
Si deseas importar todos los archivos XML desde una carpeta a una sola hoja, puedes usar el siguiente código VBA.
1. Selecciona una hoja en blanco donde deseas colocar los datos importados, y presiona las teclas Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
2. Haz clic en Insertar > Módulo, pega el código VBA en la ventana del Módulo.
VBA: Importar archivos XML desde una carpeta 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. Haz clic en el botón Ejecutar o presiona la tecla F5 para ejecutar el VBA, y selecciona una carpeta en el cuadro de diálogo emergente, ver captura de pantalla:
4. Haz clic en Aceptar, y todos los archivos XML en la carpeta seleccionada se han importado en la hoja activa.
Importar o combinar múltiples archivos xml/csv en una hoja o un libro con Kutools para Excel
Si no estás familiarizado con VBA, no te preocupes, aquí te presento una herramienta útil: Kutools para Excel. Con su poderosa utilidad Combinar, puedes combinar rápidamente múltiples archivos xml o csv en un solo libro o una sola hoja de Excel.
Después de instalar Kutools para Excel, por favor sigue los siguientes pasos: (¡Descarga gratuita de Kutools para Excel ahora!)
1. Activa Excel, y haz clic en Kutools Plus > Combinar. Ver captura de pantalla:
2. Y en el paso 1 de Combinar diálogo, elige una opción de separación según lo necesites. Ver captura de pantalla:
3. Haz clic en Siguiente para ir al paso 2 de Combinar, haz clic en Agregar para agregar archivos desde varias carpetas o archivos de una carpeta al Libro de trabajo lista, y también puedes especificar las hojas que deseas combinar desde la Hoja de cálculo lista de la sección derecha. Ver captura de pantalla:
4. Haz clic en Siguiente al último paso de Combinar, y puedes especificar las opciones de combinación.
5. Haz clic en Finalizar, aparece un cuadro de diálogo para recordarte que selecciones una ubicación para guardar el nuevo resultado combinado. Ver captura de pantalla:
6. Haz clic en Guardar. Todas las hojas agregadas se han combinado en una nueva hoja única.
Consejo: Con Combinar, también puedes combinar múltiples archivos CSV de múltiples carpetas o de una carpeta en una sola hoja o libro.
Exportar cada hoja como csv/texto/pdf a una carpeta con Kutools para Excel
Si deseas exportar cada hoja como archivo csv/texto/pdf a una carpeta, la utilidad Dividir Libro de Kutools para Excel puede ayudarte.
Después de descargar e instalar gratuitamente Kutools para Excel, por favor sigue los siguientes pasos:
1. Activa el libro que deseas exportar sus hojas de cálculo, y haz clic en Kutools Plus > Libro > Dividir Libro. Ver captura de pantalla:
2. En el cuadro de diálogo Dividir Libro, puedes marcar los nombres de las hojas que necesitas exportar; por defecto, todas las hojas están marcadas, y marca Especificar formato de guardado y selecciona el formato de archivo que deseas guardar desde la lista desplegable inferior. Ver captura de pantalla:
3. Haz clic en Dividir y selecciona una carpeta donde guardar los archivos divididos en el cuadro de diálogo Examinar carpeta, ver captura de pantalla:
4. Haz clic en Aceptar, ahora todas las hojas marcadas se han exportado como nuevos formatos de archivo en la carpeta seleccionada.
Artículos relacionados:
- ¿Cómo convertir hipervínculos a texto plano en Excel?
- ¿Cómo convertir números decimales a binario/octal/hexadecimal o viceversa en Excel?
- ¿Cómo insertar tipo de cambio en vivo en Excel?
Las mejores herramientas de productividad para Office
Impulsa al máximo tu dominio de Excel con Kutools para Excel y experimenta una eficiencia sin precedentes. Kutools para Excel ofrece más de300 funciones avanzadas para potenciar la productividad y ahorrar tiempo.Haz clic aquí para obtener la función que más necesitas...
Office Tab aporta una interfaz de pestañas a Office y hace tu trabajo mucho más sencillo
- Habilita la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
- Abre y crea varios documentos en nuevas pestañas de la misma ventana, en vez de en nuevas ventanas.
- ¡Aumenta tu productividad hasta un50% y reduce cientos de clics de ratón cada día!