¿Cómo importar rápidamente por lotes múltiples archivos csv / text / xml en Excel?
En Excel, es posible que se haya vinculado para guardar un libro de trabajo como archivo csv, archivo de texto o archivo xml, pero ¿alguna vez ha intentado importar varios archivos csv / text / xml de una carpeta a un libro de trabajo o una hoja de trabajo? En este artículo, presento algunos métodos para importarlos por lotes rápidamente.
Importe varios archivos de texto de una carpeta a cada hoja de trabajo de un libro con VBA
Importe varios archivos csv de una carpeta a una sola hoja con VBA
Importe varios archivos xml de una carpeta en una sola hoja con VBA
Importe o combine varios archivos xml / csv en una hoja o un libro de trabajo con Kutools para Excel
Exporte cada hoja como csv / text / pdf a una carpeta con Kutools para Excel
Importe varios archivos de texto de una carpeta a cada hoja de trabajo de un libro con VBA
Para importar archivos de texto desde una carpeta a un libro de trabajo, puede usar VBA a continuación para manejarlo rápidamente.
1. Habilite un libro en blanco y presione Alt + F11 llaves para abrir Microsoft Visual Basic para aplicaciones ventana.
2. Hacer clic en recuadro > Móduloy pegue el VBA en el Módulo ventana.
VBA: importe todos los archivos de texto de una carpeta a un libro de trabajo
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. Prensa F5 o Ejecutar para ejecutar el VBA, y seleccione una carpeta desde la que desea importar los archivos de texto en el cuadro de diálogo emergente. Ver captura de pantalla:
4. Y haga clic en OK, y cada archivo de texto de la carpeta seleccionada se ha importado a una hoja de trabajo del libro activo. Ver captura de pantalla:
Combine fácilmente varias hojas / libro de trabajo en una sola hoja o libro de trabajo
|
Combinar varias hojas o libros de trabajo en una sola hoja o libro de trabajo puede ser complicado en Excel, pero con la Combinar función en Kutools para Excel, puede combinar fusionar docenas de hojas / libros de trabajo en una hoja o libro de trabajo, también, puede consolidar las hojas en una por varios clics solamente. ¡Haga clic para obtener una prueba gratuita de 30 días con todas las funciones! |
Kutools para Excel: con más de 300 prácticos complementos de Excel, prueba gratis sin límite en 30 días. |
Importe varios archivos csv de una carpeta a una sola hoja con VBA
Para importar todos los archivos csv de una carpeta en una sola hoja, puede usar el siguiente código VBA.
1. Active una hoja de trabajo en blanco y presione Alt + F11 llaves para abrir Microsoft Visual Basic para aplicaciones ventana.
2. Hacer clic en recuadro > Móduloy pegue debajo de VBA en el nuevo Módulo ventana.
VBA: importe archivos csv de una carpeta a una hoja de trabajo
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. Prensa F5 tecla o clic Ejecutar para ejecutar el VBA, y aparece un cuadro de diálogo para seleccionar una carpeta desde la que desea importar todos los archivos csv. Ver captura de pantalla:
4. Hacer clic en OK, y aparece un cuadro de diálogo para recordarle que si borra el contenido de la hoja de trabajo activa antes de importar, aquí hago clic Sí. Ver captura de pantalla:
Después de hacer clic Sí, todos los archivos csv de la carpeta seleccionada se importan a la hoja actual y colocan los datos de la columna A a la derecha. Ver captura de pantalla:
Consejo: Si desea colocar archivos csv horizontalmente en una hoja de trabajo, puede usarlos a continuación 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
Importe varios archivos xml de una carpeta en una sola hoja con VBA
Si desea importar todos los archivos XML de una carpeta en una sola hoja, puede usar el siguiente código VBA.
1. Seleccione una hoja en blanco en la que desee colocar los datos importados y presione Alt + F11 claves para habilitar Microsoft Visual Basic para aplicaciones ventana.
2. Hacer clic en recuadro > Módulo, pegue el código VBA en el Módulo ventana.
VBA: importe archivos XML de una carpeta a una hoja de trabajo.
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. Hacer clic en Ejecutar botón o F5 clave para ejecutar el VBA, y seleccione una carpeta en el cuadro de diálogo emergente, vea la captura de pantalla:
4. Hacer clic en OKy todos los archivos XML de la carpeta seleccionada se importan a la hoja activa.
Importe o combine varios archivos xml / csv en una hoja o un libro de trabajo con Kutools para Excel
Si no está familiarizado con VBA, preocúpese, aquí les presento una herramienta útil: Kutools for Excel para ti. Con su poderoso Combinar utilidad, puede combinar rápidamente varios archivos xml o archivos csv en un libro de trabajo o una hoja de Excel.
Kutools for Excel, con más de 300 funciones prácticas, facilita su trabajo. | ||
Después de instalar Kutools para Excel, haga lo siguiente:(¡Descarga gratis Kutools para Excel ahora!)
1. Active Excel y haga clic en Kutools Más > Combinar. Ver captura de pantalla:
2. Y en el paso 1 de Combinar diálogo, elija una opción de separación que necesite. Ver captura de pantalla:
3. Hacer clic en Siguiente ir a paso 2 de la combinación, haga clic Añada para agregar archivos de varias carpetas o archivos de una carpeta a Libro de trabajo lista, y también puede especificar las hojas de las que desea combinar Hoja de trabajo lista de la sección derecha. Ver captura de pantalla:
4. Hacer clic en Siguiente al último paso de Combinary puede especificar las opciones de combinación.
5. Hacer clic en Acabado, aparece un cuadro de diálogo para recordarle que seleccione una ubicación para guardar el nuevo resultado combinado. Ver captura de pantalla:
6. Hacer clic en Guardar. Todas las hojas adicionales se han combinado en una nueva hoja única.
Consejo: Con Combinar, también puede combinar varios Archivos CSV Forme varias carpetas o una carpeta en una hoja o libro de trabajo.
Combine varios archivos XML / CVS en una hoja / libro de trabajo
Exporte cada hoja como csv / text / pdf a una carpeta con Kutools para Excel
Si desea exportar cada hoja como archivo csv / text / pdf a una carpeta, Kutools for Excel, Libro de trabajo dividido La utilidad puede hacerte un favor.
Después instalación gratuita Kutools para Excel, haga lo siguiente:
1. Habilite el libro de trabajo cuyas hojas de trabajo desea exportar y haga clic en Kutools Más > Libro de trabajo > Libro de trabajo dividido. Ver captura de pantalla:
2. En el Libro de trabajo dividido cuadro de diálogo, puede comprobar los nombres de las hojas que necesita exportar, de forma predeterminada, todas las hojas están marcadas y Especificar formato de guardado y seleccione el formato de archivo que desea guardar en la lista desplegable a continuación. Ver captura de pantalla:
3. Hacer clic en Mini Split y seleccione una carpeta para guardar los archivos divididos en el Busca por carpetas diálogo, ver captura de pantalla:
4. Hacer clic en OK, ahora todas las hojas marcadas se exportan como un nuevo formato de archivo en la carpeta seleccionada.
Exportar cada hoja como un solo archivo XML / CSV / TXT / PDF
Artículos relativos:
- ¿Cómo convertir un hipervínculo a texto sin formato en Excel?
- ¿Cómo convertir un número decimal a un número binario / octal / hexadecimal o viceversa en Excel?
- ¿Cómo insertar el tipo de cambio en vivo en Excel?
Las mejores herramientas de productividad de oficina
Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo. Haga clic aquí para obtener la función que más necesita...
Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil
- Habilite 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 de la misma ventana, en lugar de en nuevas ventanas.
- ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!