Clever-Excel-Forum

Normale Version: richtige Datei ansprechen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich bin ein absoluter VBA Anfänger und habe da eine Frage...

Ich bastel gerade eine Datei die mir mit 2 Klicks automatisch eine andere Datei auswerten soll, unterschiedliche Blätter erzeugen soll, diese drucken soll und sich unter einem gewissen Pfad abspeichern soll. Zudem soll die Datei welche am Anfang angesprochen und dann verarbeitet wird gelöscht werden.

Das ansprechen der Datei funktioniert, das Filtern und sortieren auch, das drucken auch.... soweit alles korrekt...

Ich bekomme es jedoch nicht hin das er mir am Ende die richtige Datei unter dem Datum speichert, irgendwie habe ich das noch nicht ganz verstanden was da passiert....

Zu Beginn ein Sub mit dem die Datei vom Benutzer ausgewählt wird:

Dim myfile As String
Sub browseforfile()
myfile = Application.GetOpenFilename(, , "Beispieldatei")
ThisWorkbook.Sheets("Steuerung").Range("B3") = myfile
End Sub
____________________________________________________
Wenn das eigentliche Sub startet soll zu Beginn überprüft werden ob ein Dateipfad gewählt wurde, wenn nicht -> MSGBox

ThisWorkbook.Sheets("Steuerung").Range("B3") = myfile
If myfile = "" Then
MsgBox "Dateipfad muss neu gewählt werden.", vbOKOnly + vbInformation, "Warnung!"
Exit Sub
End If

____________________________________________________
Wenn der Dateipfad gewählt wurde läuft das Sub einfach weiter, setzt die Filter korrekt und splittet das Tabellenblatt in mehrere Blätter und druckt diese im korrekten Format.
Wenn das alles fertig ist soll VBA die bearbeitete Datei unter dem jeweiligen Datum speichern

    Const sPfad As String = "Beispielpfad\"
    ThisWorkbook.SaveAs sPfad & Format(Date, "YYYYMMDD")
    ActiveWorkbook.Close

Das Problem ist jedoch das er dann immer die Steuerungsdatei dort so abspeichert und nicht die Datei die bearbeitet wurde, habe auch schon über verschiedene activate Befehle versucht wieder die Datei dessen Pfad ja im String myfile hinterlegt ist zu aktivieren bevor er die Speicherung durchführt doch ohne jeglichen Erfolg..... er speichert immer die falsche Datei... Huh

PS: außerdem bräuchte ich noch eine Funktion die mir einen Ordner leert, also alle vorhandenen Dateien löscht...

Vielen Dank im Voraus


Nachtrag: Problem GELÖST!- so schlau muss man erstmal sein, egal was ich vorher schreibe - mit ThisWorkbook wieder die Steuerungsdatei anzusprechen und sich zu wundern warum er die nimmt ist schon recht blöd von mir - rofl
gelöscht wird die alte datei auch korrekt

hat sich also erledigt, wird geschlossen
Hallöchen,

auf Arbeit würde ich sagen - solche Probleme, die sich von selbst lösen, sind mir die liebsten Smile

Ansonsten mal ein paar Versionen, wie man eine Datei ansprechen kann:

ThisWorkBook

oder
ActiveWorkBook

oder
WorkBook("MeineDatei.xlsx")

oder
Windows("MeineDatei.xlsx")

oder
Set wbkMeineDatei = …
Msgbox wbkMeineDatei.Name