KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Venta de marzo: 20 % de descuento

¿Cómo importar varios archivos CSV, de texto o XML en Excel de forma rápida?

AutorSun Fecha de modificación

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:

una captura de pantalla de la selección de una carpeta desde la que desea importar archivos txt

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:

una captura de pantalla que muestra que cada archivo de texto en la carpeta seleccionada se ha importado en hojas de cálculo diferentes del libro actualuna captura de pantalla que muestra que cada archivo de texto en la carpeta seleccionada se ha importado en hojas de cálculo diferentes del libro actual 2
una captura de pantalla de kutools for excel ia

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.
Potencie sus capacidades en Excel con herramientas impulsadas por inteligencia artificial.Descárguelo ahora¡y experimente una eficiencia como nunca antes!

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:

una captura de pantalla de la selección de una carpeta desde la que desea importar archivos csv en una única hoja de cálculo

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 . Vea la captura de pantalla:

una captura de pantalla de un cuadro de aviso recordando si desea borrar la hoja existente antes de importar los archivos csv

Después de hacer clic en , 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:

una captura de pantalla que muestra que todos los archivos csv de la carpeta seleccionada se han importado en la hoja de cálculo actualuna captura de pantalla que muestra que todos los archivos csv de la carpeta seleccionada se han importado en la hoja de cálculo actual 2

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 

una captura de pantalla de la importación de archivos csv horizontalmente en una hoja de cálculo


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:

una captura de pantalla de la selección de una carpeta desde la que desea importar archivos xml en una única hoja de cálculo

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:
una captura de pantalla de la activación de la función Combinar de Kutools for Excel

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:
una captura de pantalla de la selección de una operación según sus necesidades en el asistente Combinar hojas de cálculo

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:
una captura de pantalla de la adición de archivos o carpetas y la especificación de las hojas que desea combinar

4. Haga clic en Siguientepara acceder al paso Última del asistente Combinar, donde podrá especificar las opciones de combinación.
una captura de pantalla de la especificación de 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:
una captura de pantalla de la selección de una ubicación para guardar el nuevo archivo combinado

6. Haga clic en Guardar. ¡Todas las hojas añadidas se han combinado en una única hoja nueva!
una captura de pantalla que muestra que todas las hojas añadidas se han combinado en una nueva hoja de cálculo única

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:

una captura de pantalla de la activación de la función Dividir libro

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:

una captura de pantalla de la selección de los nombres de las hojas que va a exportar y la especificación de un formato de guardado

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:

una captura de pantalla de la selección de una carpeta de destino para guardar los archivos exportados

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:


Las mejores herramientas de productividad para Office

🤖KUTOOLS AI Asistente: Revolucione Análisis de datos basándose en:Ejecución Inteligente   |  Generar código|  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos|  Invocar Funciones mejoradas
Funciones populares:Buscar, resaltar o Marcar duplicados   |  Eliminar filas en blanco   |  Combinar Columnas o celdas sin perder datos   |   Redondeo sin usar fórmulas...
Super BUSCARV:Búsqueda vertical (VLookup) con múltiples criterios  |  Búsqueda vertical (VLookup) con múltiples valores  |   Búsqueda vertical (VLookup) entre varias hojas   |   Coincidencia difusa....
Lista desplegable avanzada:Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple....
Gestor de columnas:Añadir un número específico de columnas|Mover columnas|Alternar el estado de visibilidad de columnas ocultas|Comparar rangos y columnas...
Funciones destacadas:Cuadrícula de enfoque   |  Vista de diseño   |Barra de fórmulas mejorada   | Gestor de libros y hojas   |  Biblioteca de recursos(Texto automático)|  Selector de Fecha   |  Combinar Hojas de Cálculo  |  Cifrar/Descifrar celdas   | Enviar correos electrónicos desde una lista   |  Super Filtro   |   Filtro especial(Filtrar celdas con fuente en negrita/cursiva/tachado...) ...
Principales conjuntos de herramientas 15:12 Herramientasde texto(Agregar texto,Eliminar caracteres específicos, ...)|   50+Tiposde gráfico(Diagrama de Gantt, ...)|   40+ Fórmulas prácticas(Calcular la edad basada en la fecha de nacimiento, ...)|   19 Herramientasde inserción(Insertar Código QR,Insertar imagen desde ruta, ...)|   12 Herramientasde conversión(Convertir a palabras,Conversión de moneda, ...)|   7 Herramientasde combinación y división(Combinar filas avanzado,Dividir celdas, ...)|...y muchas más
Use Kutools en su idioma preferido: compatible con inglés, español, alemán, francés, chino y 40+ más idiomas.¡

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.

ExcelWordOutlookTabsPowerPoint
  • 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