Wer kann da helfen?
Danke
Manfred
Sub schieben()
Const STRQUELLE As String = "C:\Eigene Dateien\*.xls"
Const STRZIEL As String = """C:\Secret Service\"
Dim objFSO As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.MoveFile STRQUELLE, STRZIEL
End Sub
Sub schieben()
Const STRQUELLE As String = "C:\temp\*.xls"
Const STRZIEL As String = "C:\tempmm\"
Dim objFSO As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.MoveFile STRQUELLE, STRZIEL
End Sub
Um Dateien mit Excel VBA zu verschieben, kannst du das FileSystemObject
verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:
Alt + F11
, um den VBA-Editor zu öffnen.Einfügen
> Modul
, um ein neues Modul zu erstellen.Sub schieben()
Const STRQUELLE As String = "C:\Eigene Dateien\*.xls"
Const STRZIEL As String = "C:\Secret Service\"
Dim objFSO As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.MoveFile STRQUELLE, STRZIEL
End Sub
STRQUELLE
und STRZIEL
an deine Bedürfnisse an.Dieser Code verschiebt alle .xls
-Dateien aus dem Quellverzeichnis in das Zielverzeichnis. Das ist eine effektive Methode, um eigene dateien zu verschieben
und sie vor versehentlichem Löschen zu schützen.
Fehler: "Datei nicht gefunden"
Lösung: Überprüfe, ob der Pfad zu den Dateien korrekt ist und ob die Dateien tatsächlich im Quellverzeichnis vorhanden sind.
Fehler: "Zielverzeichnis nicht vorhanden"
Lösung: Stelle sicher, dass das Zielverzeichnis existiert. Andernfalls musst du es zuerst erstellen.
Fehler: "Zugriff verweigert"
Lösung: Überprüfe die Berechtigungen des Zielverzeichnisses. Möglicherweise benötigst du Administratorrechte, um in geschützte Verzeichnisse zu schreiben.
Es gibt mehrere Methoden, um mit VBA Dateien zu verschieben:
Dim objFSO As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.MoveFolder "C:\temp\Ordner", "C:\ZielOrdner"
Shell "cmd /c move C:\temp\*.xls C:\Secret Service\", vbHide
Hier sind einige praktische Beispiele für das Verschieben von Dateien:
Sub verschiebenMehrererDateitypen()
Dim objFSO As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.MoveFile "C:\temp\*.xls", "C:\Secret Service\"
objFSO.MoveFile "C:\temp\*.docx", "C:\Secret Service\"
End Sub
Du kannst das Makro so einstellen, dass es zu bestimmten Zeiten ausgeführt wird, z.B. jede Stunde. Dazu kannst du die Application.OnTime
Methode verwenden.
Error Handling
, um Fehler abzufangen und entsprechende Meldungen zu geben:On Error Resume Next
objFSO.MoveFile STRQUELLE, STRZIEL
If Err.Number <> 0 Then
MsgBox "Fehler beim Verschieben: " & Err.Description
End If
1. Wie kann ich ein geschütztes Verzeichnis verwenden?
Um in ein geschütztes Verzeichnis zu schreiben, benötigst du Administratorrechte. Stelle sicher, dass du die erforderlichen Berechtigungen hast.
2. Kann ich das Makro automatisch ausführen lassen?
Ja, du kannst das Makro so planen, dass es zu bestimmten Zeiten läuft, indem du die Application.OnTime
Funktion verwendest.
3. Was passiert mit Dateien, die bereits im Zielverzeichnis vorhanden sind?
Wenn eine Datei mit demselben Namen im Zielverzeichnis existiert, wird sie überschrieben. Stelle sicher, dass du dies in deiner Logik berücksichtigst, um Datenverlust zu vermeiden.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen