Wie kopiere oder verschiebe ich Dateien von einem Ordner in einen anderen basierend auf einer Liste in Excel?
Wenn Sie eine Liste von Dateinamen in einer Spalte in einem Arbeitsblatt haben und die Dateien sich in einem Ordner in Ihrem Computer befinden. Jetzt müssen Sie diese Dateien, deren Namen im Arbeitsblatt aufgeführt sind, aus ihrem ursprünglichen Ordner in einen anderen verschieben oder kopieren, wie im folgenden Screenshot gezeigt. Wie können Sie diese Aufgabe so schnell wie möglich in Excel erledigen?
Kopieren oder verschieben Sie Dateien von einem Ordner in einen anderen, basierend auf einer Liste in Excel mit VBA-Code
Um die Dateien basierend auf einer Liste von Dateinamen von einem Ordner in einen anderen zu verschieben, kann der folgende VBA-Code Ihnen einen Gefallen tun. Gehen Sie wie folgt vor:
1. Halten Sie die Taste gedrückt Alt + F11 Tasten in Excel, und es öffnet sich die Microsoft Visual Basic für Applikationen Fenster.
2. Klicken Sie Insert > Modulund fügen Sie den folgenden VBA-Code in das Modulfenster ein.
VBA-Code: Verschieben Sie Dateien basierend auf einer Liste in Excel von einem Ordner in einen anderen
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. Und dann drücken F5 Wenn Sie die Taste drücken, um diesen Code auszuführen, wird ein Eingabeaufforderungsfeld angezeigt, das Sie daran erinnert, die Zellen auszuwählen, die die Dateinamen enthalten. Siehe Abbildung:
4. Dann klick OK Klicken Sie auf die Schaltfläche und wählen Sie im ausgeblendeten Fenster den Ordner aus, der die Dateien enthält, aus denen Sie verschieben möchten. Siehe Screenshot:
5. Und dann klick OKWählen Sie weiterhin den Zielordner aus, in dem Sie die Dateien in einem anderen Fenster finden möchten. Siehe Screenshot:
6. Abschließend klicken Sie auf OK Um das Fenster zu schließen, wurden die Dateien jetzt in einen anderen Ordner verschoben, den Sie basierend auf den Dateinamen in der Arbeitsblattliste angegeben haben (siehe Abbildung):
Note: Wenn Sie die Dateien nur in einen anderen Ordner kopieren möchten, aber die Originaldateien behalten möchten, wenden Sie bitte den folgenden VBA-Code an:
VBA-Code: Kopieren Sie Dateien anhand einer Liste in Excel von einem Ordner in einen anderen
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-Produktivitätstools
Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor. Kutools für Excel bietet über 300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen ...
Office Tab Bringt die Oberfläche mit Registerkarten in Office und erleichtert Ihnen die Arbeit erheblich
- Aktivieren Sie das Bearbeiten und Lesen von Registerkarten in Word, Excel und PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters und nicht in neuen Fenstern.
- Steigert Ihre Produktivität um 50 % und reduziert jeden Tag Hunderte von Mausklicks für Sie!