Come copiare o spostare file da una cartella all'altra in base a un elenco in Excel?
Se si dispone di un elenco di nomi di file in una colonna in un foglio di lavoro e i file si trovano in una cartella nel computer. Ma, ora, è necessario spostare o copiare questi file i cui nomi sono elencati nel foglio di lavoro dalla loro cartella originale a un'altra come mostrato nella seguente schermata. Come hai potuto completare questa attività il più rapidamente possibile in Excel?
Copia o sposta i file da una cartella all'altra in base a un elenco in Excel con codice VBA
Copia o sposta i file da una cartella all'altra in base a un elenco in Excel con codice VBA
Per spostare i file da una cartella all'altra in base a un elenco di nomi di file, il seguente codice VBA potrebbe farti un favore, per favore fai come segue:
1. Tieni premuto il Alt + F11 chiavi in Excel e apre il file Microsoft Visual Basic, Applications Edition finestra.
2. Clic inserire > Modulie incolla il seguente codice VBA nella finestra del modulo.
Codice VBA: sposta i file da una cartella all'altra in base a un elenco in 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. E poi premere F5 chiave per eseguire questo codice e verrà visualizzata una finestra di messaggio per ricordarti di selezionare le celle che contengono i nomi dei file, vedi screenshot:
4. Quindi fare clic OK pulsante, e nella finestra spuntata, seleziona la cartella che contiene i file da cui vuoi spostarti, vedi screenshot:
5. E poi clicca OK, continua a selezionare la cartella di destinazione in cui desideri individuare i file in un'altra finestra saltata fuori, vedi screenshot:
6. Infine, fai clic OK per chiudere la finestra e ora i file sono stati spostati in un'altra cartella specificata in base ai nomi dei file nell'elenco del foglio di lavoro, vedi screenshot:
Note:: Se desideri semplicemente copiare i file in un'altra cartella, ma mantieni i file originali, applica il codice VBA seguente:
Codice VBA: copia i file da una cartella all'altra in base a un elenco in 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
I migliori strumenti per la produttività in ufficio
Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Fai clic qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
- Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!