Sei sulla pagina 1di 3

¿Cómo Copiar O Mover Archivos De Una

Carpeta A Otra Basada En Una Lista En Excel?


Si tiene una lista de nombres de archivos en una columna en una hoja de trabajo,
y los archivos se ubican en una carpeta en su computor. Pero, ahora, necesita
mover o copiar estos archivos cuyos nombres se enumeran en la hoja de cálculo
de su carpeta original a otra como se muestra a continuación. ¿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

Para mover los archivos de una carpeta a otra en función de una lista de
nombres de archivos, el siguiente código de VBA puede hacerte un favor, haz lo
siguiente:

1. Mantenga presionado el Alt + F11 teclas 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 de VBA: mueva los archivos de una carpeta a otra según una lista
en Excel

Sub movefiles()
1 'Updateby Extendoffice
2 Dim xRg As Range, xCell As Range
3 Dim xSFileDlg As FileDialog, xDFileDlg As FileDialog
4 Dim xSPathStr As Variant, xDPathStr As Variant
Dim xVal As String
5 On Error Resume Next
6 Set xRg = Application.InputBox("Please select the file names:", "KuTools For Ex
7 If xRg Is Nothing Then Exit Sub
8 Set xSFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
9 xSFileDlg.Title = " Please select the original folder:"
If xSFileDlg.Show <> -1 Then Exit Sub
10 xSPathStr = xSFileDlg.SelectedItems.Item(1) & "\"
11 Set xDFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
12 xDFileDlg.Title = " Please select the destination folder:"
13 If xDFileDlg.Show <> -1 Then Exit Sub
xDPathStr = xDFileDlg.SelectedItems.Item(1) & "\"
14 For Each xCell In xRg
15 xVal = xCell.Value
16 If TypeName(xVal) = "String" And xVal <> "" Then
17 FileCopy xSPathStr & xVal, xDPathStr & xVal
18 Kill xSPathStr & xVal
End If
19 Next
20 End Sub
21
22
23
24
25

3. Y luego presione F5 tecla 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 que desea mover, vea la captura de pantalla:

5. Y luego haz clic OK, siga 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 especificada según los nombres de los archivos en la lista
de la hoja de trabajo, vea la captura de pantalla:

Notas: Si solo quiere copiar los archivos a otra carpeta, pero conserve los
archivos originales, aplique el siguiente código de VBA:

Código de VBA: copie los archivos de una carpeta a otra según una lista en
Excel

1 Sub copyfiles()
'Updateby Extendoffice
2 Dim xRg As Range, xCell As Range
3 Dim xSFileDlg As FileDialog, xDFileDlg As FileDialog
4 Dim xSPathStr As Variant, xDPathStr As Variant
5 Dim xVal As String
6 On Error Resume Next
Set xRg = Application.InputBox("Please select the file names:", "KuTools For Ex
7 If xRg Is Nothing Then Exit Sub
8 Set xSFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
9 xSFileDlg.Title = "Please select the original folder:"
10 If xSFileDlg.Show <> -1 Then Exit Sub
xSPathStr = xSFileDlg.SelectedItems.Item(1) & "\"
11 Set xDFileDlg = Application.FileDialog(msoFileDialogFolderPicker)
12 xDFileDlg.Title = "Please select the destination folder:"
13 If xDFileDlg.Show <> -1 Then Exit Sub
14 xDPathStr = xDFileDlg.SelectedItems.Item(1) & "\"
For Each xCell In xRg
15 xVal = xCell.Value
16 If TypeName(xVal) = "String" And xVal <> "" Then
17 FileCopy xSPathStr & xVal, xDPathStr & xVal
18 End If
19 Next
End Sub
20
21
22
23
24

Potrebbero piacerti anche