Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA movefile

Forumthread: VBA movefile

VBA movefile
12.08.2022 11:44:10
Daniel
Hallo
Ich habe einen Pfad und darunter die Dateiliste, rechts neben den Dateinamen der neue Pfad.
Mit meiner gebastelten Lösung bekomm ich verschiedene Fehler, wohl durch die Verwendung von Const, ich weiss gar nicht was das ist, somit steh ich an :-(
pfad = ActiveCell
Do While ActiveCell ""
Const Quelldatei As String = pfad & ActiveCell 'pad und Datei
If Right(ActiveCell.Offset(0, 1), 1) = "/" Then pfadneu = ActiveCell.Offset(0, 1) Else pfadneu = ActiveCell.Offset(0, 1) & "/"
Const Zieldatei As String = pfadneu & ActiveCell
Dim objFSO As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.MoveFile STRQUELLE, STRZIEL
End If
ActiveCell.Offset(1, 0).Select 'Leseposition verändern
Loop
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA movefile
12.08.2022 11:58:05
Oberschlumpf
Hi Daniel,
mit Zeigen einer Bsp-Datei von dir könnte man vllt besser helfen.
Lösch mal deinen Code und ersetz ihn durch diesen Code:

Dim Quelldatei As String, Zieldatei As String
pfad = ActiveCell
Do While ActiveCell  ""
Quelldatei = pfad & ActiveCell 'pad und Datei
If Right(ActiveCell.Offset(0, 1), 1) = "/" Then pfadneu = ActiveCell.Offset(0, 1) Else pfadneu = ActiveCell.Offset(0, 1) & "/"
Zieldatei = pfadneu & ActiveCell
Dim objFSO As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.MoveFile Quelldatei, Zieldatei
End If
ActiveCell.Offset(1, 0).Select 'Leseposition verändern
Loop
Hilfts denn?
Wenns nich läuft, lies dir noch mal meinen 1. Satz durch.
Ciao
Thorsten
Anzeige
AW: VBA movefile
12.08.2022 13:08:10
Daniel
Hi Oberschlumpf,
Super coool, Danke Dir vielmals so geht es sehr gut :-D auch Danke für die superprompte Antwort = Top

Sub Batch_Move_Dateien() 'Basierend auf der automatisch erstellten Liste,
'alter Speicherort = Aktuelle Zelle  Neue Speicherorte jeweils eins rechts davon > Cursor auf oberste Zelle mit Pfad stellen
'Wenn rechts der Datei kein neuer Pfad steht wird die Datei übersprungen
a = MsgBox("Sind folgende Bedingungen erfüllt?" & vbLf & "Cursor steht auf dem Pfad?" & vbLf & "darunter ist die Liste mit den aktuellen Dateinamen," & vbLf & "rechts davon sind die allfällig neuen Lokationen ?", vbYesNo, "ACHTUNG")
If a = 7 Then Exit Sub
Dim Quelldatei As String, Zieldatei As String
pfad = ActiveCell
Do While ActiveCell  ""
If ActiveCell.Offset(0, 1)  "" Then 'Nur verschieben wenn rechts ein neuer Pfad angegeben ist.
Quelldatei = pfad & ActiveCell 'pad und Datei
If Right(ActiveCell.Offset(0, 1), 1) = "/" Then pfadneu = ActiveCell.Offset(0, 1) Else pfadneu = ActiveCell.Offset(0, 1) & "\"
Zieldatei = pfadneu & ActiveCell
Dim objFSO As Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.MoveFile Quelldatei, Zieldatei
End If
ActiveCell.Offset(1, 0).Select 'Leseposition auf nächste Datei
Loop
MsgBox "fertig, bitte prüfen :-)"
End Sub

Anzeige
bitte, gerne...
12.08.2022 13:19:10
Oberschlumpf
...und nun genieß das Wochenende! :-)
AW: VBA movefile
13.08.2022 13:07:01
snb
Oder einfach so:

Sub M_snb()
sn = UsedRange.Columns(1)
c00 = "G:\OF\"
For j = 1 To UBound(sn)
If sn(j, 1)  "" Then Name c00 & sn(j, 1) As sn(j, 2) & sn(j, 1)
Next
End Sub

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige