Hoe bestanden van de ene map naar de andere te kopiëren of te verplaatsen op basis van een lijst in Excel?
Als u een lijst met bestandsnamen in een kolom in een werkblad heeft en de bestanden zich in een map op uw computer bevinden. Maar nu moet u deze bestanden verplaatsen of kopiëren waarvan de namen in het werkblad worden vermeld van hun oorspronkelijke map naar een andere zoals in het volgende screenshot. Hoe kon je deze taak zo snel mogelijk voltooien in Excel?
Kopieer of verplaats bestanden van de ene map naar de andere op basis van een lijst in Excel met VBA-code
Om de bestanden van de ene map naar de andere te verplaatsen op basis van een lijst met bestandsnamen, kan de volgende VBA-code u een plezier doen, doe dit als volgt:
1. Houd de Alt + F11 toetsen in Excel, en het opent het Microsoft Visual Basic voor toepassingen venster.
2. Klikken Invoegen > Moduleen plak de volgende VBA-code in het modulevenster.
VBA-code: verplaats bestanden van de ene map naar de andere op basis van een lijst 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. En druk vervolgens op F5 sleutel om deze code uit te voeren, en er verschijnt een promptvenster om u eraan te herinneren de cellen te selecteren die de bestandsnamen bevatten, zie screenshot:
4. Dan klikken OK knop, en selecteer in het uitgeklapte venster de map die de bestanden bevat waaruit u wilt verplaatsen, zie screenshot:
5. En klik vervolgens op OK, ga door met het selecteren van de bestemmingsmap waar u de bestanden wilt lokaliseren in een ander uitgeklapt venster, zie screenshot:
6. Klik ten slotte op OK om het venster te sluiten, en nu zijn de bestanden verplaatst naar een andere map die u hebt opgegeven op basis van de bestandsnamen in de werkbladlijst, zie screenshot:
Note: Als u de bestanden alleen naar een andere map wilt kopiëren, maar de originele bestanden wilt behouden, past u de onderstaande VBA-code toe:
VBA-code: kopieer bestanden van de ene map naar de andere op basis van een lijst 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
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!