Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Datei per VBA verschieben
zurück: Wenn X in Zelle dann in Zellen daneben Wort weiter: VBA Bedingte Formatierung Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
baghi0177
Neuling


Verfasst am:
22. Jan 2013, 15:48
Rufname:

Datei per VBA verschieben - Datei per VBA verschieben

Nach oben
       Version: Office 2010

hallo miteinander,

da ich schon viele Anregungen hier gefunden habe, mal eine konkrete Frage an euch.
Ich habe ein kleines Dienstplanprogramm in Excel geschieben. Hierfür beutze ich zwei Arbeitsmappen. in der 1. wird geplant, in der 2. abgerechnet.
Um abzurechnen hole ich die notwendigen Daten aus der 1. Mappe.
Damit ich sauber weiter arbeiten kann habe ich mir überlegt, die geschlossene erste Mappe nach dem holen der Daten in ein anderes Verzeichnis auf der HD zu verschieben.

Unter "C:\Dienstplan\offen" liegen immer die noch zu verarbeitenden ersten Mappen mit dem Namen "2013-01-10 bis 2013-02-09 Diensteinteilung.xlms". Der Name ändert sich je nach Zeitraum.
Unter "C:\Dienstplan\Dienstpläne" liegen die jeweiligen zweiten Mappen. Zum Abrechnen wird die zweite Mappe geöffnet, die daten aus der z.B. geschlossenen Datei "2013-01..." geholt und verarbeitet.
Die bezeichung der 1. mappe findet sich auf dem Sheet ("Daten").Range("A43").

Um die Übersicht zu behalten würde ich gerne die jeweils ersten Mappen, aus denen die Daten bereits geholt wurden, in einem Verarbeitungsgang beim Holen der Daten in das Verzeichnis "C:\Dienstplan\abgerechnet" verschieben.

Ich hoffe beine beschreibung ist nicht zu verwirrend und ihr habt eine Lösung.

Danke im Voraus
ExcelTüftler
Excel-VBA "Rumspieler"


Verfasst am:
23. Jan 2013, 00:51
Rufname: Daniel
Wohnort: Kehl am Rhein


AW: Datei per VBA verschieben - AW: Datei per VBA verschieben

Nach oben
       Version: Office 2010

Hi Baghi!

versuch's mal damit:
Code:
Option Explicit

Sub DateiVerschieben()
    Dim Quelle As String
   
    Const ZielOrdner As String = "C:\Dienstplan\Geschlossen\" 'Pfad muss existieren!
    Quelle = "C:\Dienstplan\Offen\Mappe2.xlsx"  'Später: Quelle = Worksheets("Daten").Range("A43")

    MoveMyFile Quelle, ZielOrdner & Split(Quelle, "\")(UBound(Split(Quelle, "\"))), True
End Sub

Private Sub MoveMyFile(ByVal Quelle As String, ByVal Ziel As String, ByVal Überschreiben As Boolean)
    Dim FSO As Object
    Dim Bla As Object
   
    If DateiOffen(Quelle) Then
        MsgBox "Fehler beim Verschieben." & vbLf & "Die Datei """ & Quelle & """ muss erst geschlossen werden!", vbCritical, "Fehler - Abbruch"
        Exit Sub
    End If
    Set FSO = CreateObject("Scripting.FileSystemObject")
    If Not FSO.FileExists(Quelle) Then
        MsgBox "Fehler beim Verschieben." & vbLf & "Die Datei """ & Quelle & """ existiert nicht am angegebenen Ort!", vbCritical, "Fehler - Abbruch"
        Exit Sub
    End If
    If FSO.FileExists(Ziel) Then
        If Überschreiben Then
            FSO.DeleteFile (Ziel)
            FSO.MoveFile Quelle, Ziel
            MsgBox "Die Datei """ & Ziel & """ existierte bereits." & vbLf & "Sie wurde überschrieben.", vbInformation, "Datei verschieben"
        Else
            MsgBox "Die Datei """ & Ziel & """ existiert bereits." & vbLf & "Sie wurde NICHT überschrieben.", vbExclamation, "Datei verschieben"
        End If
    Else
        FSO.MoveFile Quelle, Ziel
        MsgBox "Die Datei """ & Quelle & """" & vbLf & "wurde verschoben.", vbInformation, "Datei verschieben"
    End If
    Set FSO = Nothing
End Sub

Private Function DateiOffen(Datei As String) As Boolean
Dim WB As Workbook
    For Each WB In Workbooks
        If WB.FullName = Datei Then
            DateiOffen = True
            Exit For
        End If
    Next
End Function


Funktioniert's?

_________________
Gruß Daniel

P.S. Nein, das ist kein Pfusch... das ist Improvisation! ;o)
baghi0177
Neuling


Verfasst am:
23. Jan 2013, 01:27
Rufname:

AW: Datei per VBA verschieben - AW: Datei per VBA verschieben

Nach oben
       Version: Office 2010

Hi daniel,

Danke, funktioniert ohne Variable

"später: Quelle = Worksheets("Daten").Range("A43")"

top.

Wenn ich die "später Version" aktiviere kommt

in der Zeile : FSO.MoveFile Quelle, Ziel

die Meldung:

Laufzeitfehler 53:
Datei nicht gefunden.

kann es daran liegen, dass in Range("A43") kein Pfad sondern nur der dateiname angegeben ist?
der Pfad ist in Range("B37") angegeben.

Quelle = Worksheets("Daten").Range("A43") & Range("B38")

geht leider auch nicht.

Vielleicht noch eine Idee?
ExcelTüftler
Excel-VBA "Rumspieler"


Verfasst am:
23. Jan 2013, 01:31
Rufname: Daniel
Wohnort: Kehl am Rhein

AW: Datei per VBA verschieben - AW: Datei per VBA verschieben

Nach oben
       Version: Office 2010

Hi!

Vielleicht fehlt in der "A38" das "\" am Ende?
Sad 2. "Worksheets("Daten")" ist genauso wichtig! - sonst kommst du vielleicht auf ein anderes Tabellenblatt...
Bau mal so:
Code:
Quelle = Worksheets("Daten").Range("A43") & "\" & Worksheets("Daten").Range("B38")

_________________
Gruß Daniel

P.S. Nein, das ist kein Pfusch... das ist Improvisation! ;o)
ExcelTüftler
Excel-VBA "Rumspieler"


Verfasst am:
23. Jan 2013, 01:35
Rufname: Daniel
Wohnort: Kehl am Rhein

AW: Datei per VBA verschieben - AW: Datei per VBA verschieben

Nach oben
       Version: Office 2010

Geh mal mit F8 durch und schreib mal, das er bei "Private Sub MoveMyFile" als Quelle und Ziel an Werten stehen hat...
_________________
Gruß Daniel

P.S. Nein, das ist kein Pfusch... das ist Improvisation! ;o)
baghi0177
Neuling


Verfasst am:
23. Jan 2013, 01:51
Rufname:

AW: Datei per VBA verschieben - AW: Datei per VBA verschieben

Nach oben
       Version: Office 2010

Hi,
auch noch so spät aus? Razz

Ich hab den Fehler gefunden. Den dateinamen aus A43 hab ich per Text(...) aus einer datumsangabe gebildet. Nur als Abschluss hatte ich ein &".xlsm" vergessen. Somit hatte er den Dateinamen nicht gefunden.

Besten Dank, du hast mir echt aus der Klemme geholfen.
ExcelTüftler
Excel-VBA "Rumspieler"


Verfasst am:
23. Jan 2013, 01:54
Rufname: Daniel
Wohnort: Kehl am Rhein


AW: Datei per VBA verschieben - AW: Datei per VBA verschieben

Nach oben
       Version: Office 2010

Gerne!
Ich mach schluss für heut.

_________________
Gruß Daniel

P.S. Nein, das ist kein Pfusch... das ist Improvisation! ;o)
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formeln: Farben einer Zelle per Wenn-Funktion ändern??? 71 Mike_Engelhardt 389115 08. Apr 2014, 11:39
Weltenseher_24 Farben einer Zelle per Wenn-Funktion ändern???
Keine neuen Beiträge Excel Formeln: Per WVerweis ein Datum in der gleichen Woche suchen 10 jcf 1517 18. Dez 2013, 19:36
hiob Per WVerweis ein Datum in der gleichen Woche suchen
Keine neuen Beiträge Excel Formeln: Auffinden von Duplikaten per Formel 2 andrehamburg 606 25. März 2006, 18:10
andrehamburg Auffinden von Duplikaten per Formel
Keine neuen Beiträge Excel Formeln: Text aus Zelle in .txt Datei schreiben 4 Gast_Michi 1120 22. März 2006, 16:12
Gast Text aus Zelle in .txt Datei schreiben
Keine neuen Beiträge Excel Formeln: Zellen-Import aus Word Datei 1 Heavyduty 802 15. Jan 2006, 20:32
Hübi Zellen-Import aus Word Datei
Keine neuen Beiträge Excel Formeln: Textbuchstabe in INDIREKT-Funktion per Funktion anpassen 6 Toledo 3643 29. Nov 2005, 18:30
Toledo Textbuchstabe in INDIREKT-Funktion per Funktion anpassen
Keine neuen Beiträge Excel Formeln: Verknüpfung zu externer Datei: keine Auto-Aktualisierung 4 Lemmi 1255 06. Jun 2005, 12:19
c0bRa Verknüpfung zu externer Datei: keine Auto-Aktualisierung
Keine neuen Beiträge Excel Formeln: Makro per Button ausführen lassen und if then problem 5 Darwin 3876 09. Mai 2005, 14:57
Darwin Makro per Button ausführen lassen und if then problem
Keine neuen Beiträge Excel Formeln: Formulartextfelderinhalt per Button in anderes Tabellenblatt 3 Blubberbernd 1232 10. Apr 2005, 10:49
fl618 Formulartextfelderinhalt per Button in anderes Tabellenblatt
Keine neuen Beiträge Excel Formeln: gezielte Bewegung in einer Datei 2 ja_jack 582 07. März 2005, 23:00
ja_jack gezielte Bewegung in einer Datei
Keine neuen Beiträge Excel Formeln: Frontpage soll per link in eine excel tabelle verweisen 3 Darkspawn 1636 04. März 2005, 16:46
Hübi Frontpage soll per link in eine excel tabelle verweisen
Keine neuen Beiträge Excel Formeln: Zelle Verschieben 2 Muran 628 02. Jan 2005, 23:04
Patrick G. Zelle Verschieben
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Excel Tricks