¿Cómo copiar o mover archivos de una carpeta a otra según una lista en Excel?
Si tiene una lista de nombres de archivo en una columna de una hoja de trabajo y los archivos se encuentran en una carpeta de su computadora. Pero, ahora, debe mover o copiar estos archivos cuyos nombres se enumeran en la hoja de trabajo desde su carpeta original a otra como se muestra en la siguiente captura de pantalla. ¿Cómo podría terminar esta tarea lo más rápido posible en Excel?
Copie o mueva archivos de una carpeta a otra según una lista en Excel con código VBA
Copie o mueva archivos de una carpeta a otra según una lista en Excel con código VBA
Para mover los archivos de una carpeta a otra según una lista de nombres de archivos, el siguiente código de VBA puede hacerle un favor, haga lo siguiente:
1. Mantenga pulsado el Alt + F11 claves en Excel, y abre el Microsoft Visual Basic para aplicaciones ventana.
2. Hacer clic recuadro > Móduloy pegue el siguiente código VBA en la ventana del módulo.
Código VBA: mueva archivos de una carpeta a otra según una lista en Excel
Sub movefiles()
'Updateby Extendoffice
Dim xRg As Range, xCell As Range
Dim xSFileDlg As FileDialog, xDFileDlg As FileDialog
Dim xSPathStr As Variant, xDPathStr As Variant
Dim xVal As String
On Error Resume Next
Set xRg = Application.InputBox("Please select the file names:", "KuTools For Excel", ActiveWindow.RangeSelection.Address, , , , , 8)
If xRg Is Nothing Then Exit Sub
Set xSFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
xSFileDlg.Title = " Please select the original folder:"
If xSFileDlg.Show <> -1 Then Exit Sub
xSPathStr = xSFileDlg.SelectedItems.Item(1) & "\"
Set xDFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
xDFileDlg.Title = " Please select the destination folder:"
If xDFileDlg.Show <> -1 Then Exit Sub
xDPathStr = xDFileDlg.SelectedItems.Item(1) & "\"
For Each xCell In xRg
xVal = xCell.Value
If TypeName(xVal) = "String" And xVal <> "" Then
FileCopy xSPathStr & xVal, xDPathStr & xVal
Kill xSPathStr & xVal
End If
Next
End Sub
3. Y luego presione F5 para ejecutar este código, y aparecerá un cuadro emergente para recordarle que seleccione las celdas que contienen los nombres de los archivos, vea la captura de pantalla:
4. Luego haga clic OK , y en la ventana emergente, seleccione la carpeta que contiene los archivos desde los que desea mover, vea la captura de pantalla:
5. Y luego haz clic OK, continúe seleccionando la carpeta de destino donde desea ubicar los archivos en otra ventana emergente, vea la captura de pantalla:
6. Por último, haz clic OK para cerrar la ventana, y ahora, los archivos se han movido a otra carpeta que especificó según los nombres de archivo en la lista de la hoja de trabajo, vea la captura de pantalla:
Note: Si solo desea copiar los archivos a otra carpeta, pero conservar los archivos originales, aplique el siguiente código VBA:
Código VBA: copie archivos de una carpeta a otra según una lista en Excel
Sub copyfiles()
'Updateby Extendoffice
Dim xRg As Range, xCell As Range
Dim xSFileDlg As FileDialog, xDFileDlg As FileDialog
Dim xSPathStr As Variant, xDPathStr As Variant
Dim xVal As String
On Error Resume Next
Set xRg = Application.InputBox("Please select the file names:", "KuTools For Excel", ActiveWindow.RangeSelection.Address, , , , , 8)
If xRg Is Nothing Then Exit Sub
Set xSFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
xSFileDlg.Title = "Please select the original folder:"
If xSFileDlg.Show <> -1 Then Exit Sub
xSPathStr = xSFileDlg.SelectedItems.Item(1) & "\"
Set xDFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
xDFileDlg.Title = "Please select the destination folder:"
If xDFileDlg.Show <> -1 Then Exit Sub
xDPathStr = xDFileDlg.SelectedItems.Item(1) & "\"
For Each xCell In xRg
xVal = xCell.Value
If TypeName(xVal) = "String" And xVal <> "" Then
FileCopy xSPathStr & xVal, xDPathStr & xVal
End If
Next
End Sub
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!
- Última actualización el .