Das Archiv des Excel-Forums

Datei öffnen mit variablen im Namen


Betrifft: Datei öffnen mit variablen im Namen
von: Marc

Geschrieben am: 21.09.2019 19:16:42
Hallo ,
brauche nochmal eure Hilfe habe zwar jetzt schon zwei Stunden im Netz gesucht doch nichts passendes gefunden.ZU meinem Problem:
Ich kriege jeden morgen in einen Ordner eine Datei geschickt die ich per Makro öffnen mir Daten rauskopiere und anschließend automatisch löschen lasse .
Bis vor kurzem hieß die Datei immer gleich und so funktionierte mein Makro auch noch .
Doch seid kurzem heißt die Datei nicht mehr kumuliert.xlx sondern mal kumuliert_020181019083659562_331.xlx oder kumuliert_020181019083659562_01.xlx.
Besteht irgendwie die Möglichkeit die Dateien weiterhin automatisch zu öffnen und nachher zu löschen ?
Ich habe zwar im netz ein paar ansetze gesehen wo es funktioniert allerdings immer mit wechselndem Datum im Dateinamen .
Wie gesagt der Pfad ist immer gleich:
C:\Users\OliS\Desktop\Daten\Ausschuss\kumuliert.xlsx
Und kumuliert kommt auch immer vor .
Würde mich sehr über eure Hilfe freuen .
Mit meinen wenigen VBA Kenntnissen oder per Rekorder komme ich echt nicht weiter .

Betrifft: AW: Datei öffnen mit variablen im Namen
von: 1714229.html
Geschrieben am: 21.09.2019 20:30:46
Hi Marc,

schade, dass du deinen Code nicht zeigst. Am besten wäre eine Bsp-Datei mit Code + Bsp-Daten.

Wenn dein Öffnen-Befehl bis jetzt so aussieht:

Workbooks.Open("C:\Users\OliS\Desktop\Daten\Ausschuss\kumuliert.xlsx")

dann versuch es mal so:

Dim lstrDatei As String
lstrDatei = Dir("C:\Users\OliS\Desktop\Daten\Ausschuss\*kumuliert*.xlsx")
If lstrDatei <> "" Then
Workbooks.Open("C:\Users\OliS\Desktop\Daten\Ausschuss\" & lstrDatei)
Else
MsgBox "Datei nicht vorhanden"
End If

Hilfts?
Wenn nicht, bitte Bsp-Datei mit Code per Upload zeigen.

Ciao
Thorsten

Betrifft: AW: Datei öffnen mit variablen im Namen
von: 1714231.html

Geschrieben am: 21.09.2019 20:51:46
Aber bitte nicht lachen , so fit bin ich nicht .
Ich habe jetzt noch zwei Probleme drin die ich jeweils mit 4 mal X davor und dahinter gekennzeichnet habe . Wäre schön wenn auch hier mir einer helfen könnte.

Danke Danke

Betrifft: AW: Datei öffnen mit variablen im Namen
von: 1714232.html
Geschrieben am: 21.09.2019 20:54:26
Zwei Fehler habe ich noch drin die sind jeweils mit x Gekennzeichnet

Sub ASBerichtLaden()
'Bildschirmaktualisierung ausschalten:
Application.ScreenUpdating = False
'Datei kumuliert öffnen
Dim lstrDatei As String
lstrDatei = Dir("C:\Users\OliS\Desktop\Daten\Ausschuss\*kumuliert*.xlsx")
If lstrDatei <> "" Then
Workbooks.Open ("C:\Users\OliS\Desktop\Daten\Ausschuss\" & lstrDatei)
Else
MsgBox "Datei nicht vorhanden"
End If
'Tabellenblatt umbennen
ActiveSheet.Name = "kumuliert"
'Filter entfernen
Selection.AutoFilter
' Spalte fixieren löschen
ActiveWindow.FreezePanes = False
' Loescht leere Spalten
Columns("Y:Y").Select
Selection.Delete Shift:=xlToLeft
Columns("X:X").Select
Selection.Delete Shift:=xlToLeft
Columns("W:W").Select
Selection.Delete Shift:=xlToLeft
Columns("V:V").Select
Selection.Delete Shift:=xlToLeft
Columns("U:U").Select
Selection.Delete Shift:=xlToLeft
Columns("T:T").Select
Selection.Delete Shift:=xlToLeft
Columns("S:S").Select
Selection.Delete Shift:=xlToLeft
Columns("R:R").Select
Selection.Delete Shift:=xlToLeft
Columns("Q:Q").Select
Selection.Delete Shift:=xlToLeft
'Löschen der Zeile, wenn Zelle in Spalte A leer ist
Dim introw As Integer, intLastRow As Integer
intLastRow = Cells.SpecialCells(xlCellTypeLastCell).Row
For introw = intLastRow To 1 Step -1
If Application.CountA(Rows(introw)) = 0 Then
intLastRow = intLastRow - 1
Else
Exit For
End If
Next introw
For introw = intLastRow To 1 Step -1
If IsEmpty(Cells(introw, 1)) Then
Rows(introw).Delete
End If
Next introw
'Spalte A  Zeilen löschen wenn Inhalt TI ab Zeile 2
Do While Not IsError(var)
var = Application.Match(" TI", Columns(1), 0)
If Not IsError(var) Then Cells(var, 1).Delete xlShiftUp
Loop
'Spalte B Zeilen löschen ohne Wert 63611 , 63613 ab Zeile 2
For X = Cells(Rows.Count, 2).End(xlUp).Row To 2 Step -1
If Cells(X, 2) <> 63611 And Cells(X, 2) <> 63613 Then Rows(X).Delete
Next
'Bereich Makieren
Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
'Bereich kopieren
Selection.Copy
'Arbeitsblatt wechseln
Windows("Datenpool.xlsm").Activate
'Tabellenblatt wechseln
Sheets("AS-Bericht").Select
'Erste Freie Zeile in A finden
Range("A1").Select
Selection.End(xlDown).Offset(1, 0).Select
'Einfügen
ActiveSheet.Paste
'Duplicate entfernen
For i = Range("E65536").End(xlUp).Row To 2 Step -1
If Application.WorksheetFunction.CountIf(Range("E:E"), Cells(i, 5)) > 1 Then Rows(i).Delete
Next i
'Tabellenblatt wechseln
XXXXWindows("kumuliert1243675.xlsx").ActivateXXXXX
'Zwischenspeicher leeren
Application.CutCopyMode = False
'Date schließen ohne zu speichern
XXXXWorkbooks("kumuliert1243675.xlsx").Close savechanges:=FalseXXXX
'Datum der aktualisierung einfügen
Sheets("Datenpool").Range("B2").Value = Date & "/" & Time
'Tabellenblatt wechseln
Sheets("Datenpool").Select
'Bildschirmaktualisierung einschalten:
Application.ScreenUpdating = True
'Anzeige MsgBox
MsgBox "Aktualisierung erfolgreich"
End Sub

Betrifft: AW: Datei öffnen mit variablen im Namen
von: 1714233.html

Geschrieben am: 21.09.2019 20:59:53
ersetze "kumuliert1243675.xlsx" durch die Variable lstrDatei

Betrifft: AW: Datei öffnen mit variablen im Namen
von: 1714238.html
Geschrieben am: 21.09.2019 22:56:20
Perfekt , Danke
Nur jetzt habe ich ein andres Problem . Wenn er die Datei kumuliert nicht findet setzt Excel das Makro auf die geöffnete Datei an und schreibt mir das Tabellenblatt um und löscht einige Zeilen .
Besteht die Möglichkeit ein Makro zu stoppen so bald irgendein Fehler auftritt ?
Mein Makro :

Sub ASBerichtLaden()
'Bildschirmaktualisierung ausschalten:
Application.ScreenUpdating = False
'Datei kumuliert öffnen egal was für Zusätze im Dateinamen stehen
lstrDatei = Dir("C:\Users\OliS\Desktop\Daten\Ausschuss\*kumuliert*.xlsx")
If lstrDatei <> "" Then
Workbooks.Open ("C:\Users\OliS\Desktop\Daten\Ausschuss\" & lstrDatei)
Else
MsgBox "Datei nicht vorhanden :-("
End If
'Filter entfernen
Selection.AutoFilter
' Spalte fixieren löschen
ActiveWindow.FreezePanes = False
' Löscht leere Spalten
Columns("Y:Y").Select
Selection.Delete Shift:=xlToLeft
Columns("X:X").Select
Selection.Delete Shift:=xlToLeft
Columns("W:W").Select
Selection.Delete Shift:=xlToLeft
Columns("V:V").Select
Selection.Delete Shift:=xlToLeft
Columns("U:U").Select
Selection.Delete Shift:=xlToLeft
Columns("T:T").Select
Selection.Delete Shift:=xlToLeft
Columns("S:S").Select
Selection.Delete Shift:=xlToLeft
Columns("R:R").Select
Selection.Delete Shift:=xlToLeft
Columns("Q:Q").Select
Selection.Delete Shift:=xlToLeft
'Löschen der Zeile, wenn Zelle in Spalte A leer ist
Dim introw As Integer, intLastRow As Integer
intLastRow = Cells.SpecialCells(xlCellTypeLastCell).Row
For introw = intLastRow To 1 Step -1
If Application.CountA(Rows(introw)) = 0 Then
intLastRow = intLastRow - 1
Else
Exit For
End If
Next introw
For introw = intLastRow To 1 Step -1
If IsEmpty(Cells(introw, 1)) Then
Rows(introw).Delete
End If
Next introw
'Spalte A  Zeilen löschen wenn Inhalt TI ab Zeile 2
Do While Not IsError(var)
var = Application.Match(" TI", Columns(1), 0)
If Not IsError(var) Then Cells(var, 1).Delete xlShiftUp
Loop
'Spalte B Zeilen löschen ohne Wert 63611 , 63613 ab Zeile 2
For X = Cells(Rows.Count, 2).End(xlUp).Row To 2 Step -1
If Cells(X, 2) <> 63611 And Cells(X, 2) <> 63613 Then Rows(X).Delete
Next
'Bereich Makieren ab A2 letzte beschriebene Zeile und Spalte
Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
'Bereich kopieren
Selection.Copy
'Arbeitsblatt wechseln
Windows("Laufkartenprogramm AL 3.1.xlsm").Activate
'Tabellenblatt wechseln
Sheets("AS-Bericht").Select
'Erste Freie Zeile in A finden
Range("A1").Select
Selection.End(xlDown).Offset(1, 0).Select
'Einfügen
ActiveSheet.Paste
'Duplicate entfernen
For i = Range("E65536").End(xlUp).Row To 2 Step -1
If Application.WorksheetFunction.CountIf(Range("E:E"), Cells(i, 5)) > 1 Then Rows(i).Delete
Next i
'Tabellenblatt wechseln
Windows(lstrDatei).Activate
'Zwischenspeicher leeren
Application.CutCopyMode = False
'Date schließen ohne zu speichern
Workbooks(lstrDatei).Close savechanges:=False
'Datum der aktualisierung einfügen
Sheets("LaufkartenProgramm Alu").Range("B2").Value = Date & "/" & Time
'Tabellenblatt wechseln
Sheets("LaufkartenProgramm Alu").Select
'Bildschirmaktualisierung einschalten:
Application.ScreenUpdating = True
'Anzeige MsgBox
MsgBox "Aktualisierung erfolgreich ;-)"
End Sub

Betrifft: AW: Datei öffnen mit variablen im Namen
von: 1714239.html

Geschrieben am: 21.09.2019 23:04:54
Hallo Marc,
dann mußt du halt hier mit Exit Sub aus dem Makro aussteigen.
If lstrDatei <> "" Then
Workbooks.Open ("C:\Users\OliS\Desktop\Daten\Ausschuss\" & lstrDatei)
Else
MsgBox "Datei nicht vorhanden :-("
Exit Sub
End If
Gruß Werner

Excel-Beispiele zum Thema "Datei öffnen mit variablen im Namen"

Alle Dateien im Verzeichnis öffnen download Web-Seiten mit Excel95 öffnen download
Arbeitsmappe mit dem Namen des aktuellen Datums öffnen download Dateien aus Listbox auslesen und öffnen download
Fußzeilen beim Öffnen eintragen download Arbeitsmappe ohne Rückfrage nach Aktualisierung öffnen download
Datei öffnen, deren Name in einer Zelle steht download Beim Öffnen neue Symbolleiste download
Symbolleisten beim Öffnen aus-, beim Schließen einblenden download Geburtstagsmeldung bei Öffnen der Arbeitsmappe download
Beim Öffnen einer Arbeitsmappe WAV-Datei abspielen download Bei Doppelklick Ordner im Explorer öffnen download
Beim Öffnen einer Arbeitsmappe neues Symbol in Formatsymbolleiste download Beim Öffnen der Arbeitsmappe bedingt Datum eintragen download
Tabelle mit der jeweils nächsten Kalenderwoche öffnen download Arbeitsmappe öffnen, erstes Blatt drucken, Mappe schließen download
Alle Arbeitsmappen eines Verzeichnisses öffnen download Datei auswählen, öffnen und Formelsuchdialog anzeigen download
Midi-Datei beim Öffnen einer Arbeitsmappe abspielen download Vorlage auswählen und Arbeitsmappe öffnen download
Aktuelle Geburtstage beim Öffnen der Arbeitsmappe anzeigen download Beim Öffnen der Arbeitsmappe eine UserForm anzeigen download
Beim Öffnen Menüleiste anlegen und auf "ganzen Bildschirm" schalten download Beim Öffnen zweites Fenster erzeugen und anordnen download
Beim Öffnen der Arbeitsmappe Passwort abfragen download Bei Öffnen Standardschriftgröße prüfen und Zoom festlegen download
Passwortgeschützte Mappe öffnen, Daten kopieren, schliessen download Arbeitsmappe 5 Sekunden nach dem Öffnen speichern und schließen download
Prüfung, welche Zellen nach Öffnen verändert wurden download Terminmeldung beim Öffnen der Arbeitsmappe download
Beim Öffnen der Arbeitsmappe Email versenden download Beim Öffnen PowerPoint starten und danach Mappe aktivieren download
Beim Öffnen einer Arbeitsmappe erstes Blatt auswählen download Bei Doppelklick gelinkte Arbeitsmappe öffnen download
CD-Laufwerk öffnen und schließen download Dateistrukturen in UserForm einlesen und Datei öffnen download
Datei entsprechend der Eingabe des Dateinamens öffnen download Dateinamen in UserForm-ComboBox einlesen und Datei öffnen download
Arbeitsmappe öffnen und nach Beenden des Mausklicks schließen download Das in einem Gültigkeitfeld ausgewählte Word-Dokument öffnen download
Access-Datenbank öffnen und deren Makro starten download Bei jedem Öffnen der Arbeitsmappe Wert um 1 erhöhen download
Beim Öffnen Dialog mit Dateiname und Dateidatum download Beim Öffnen der Arbeitsmappe Menü-ComboBoxes anlegen download
Webseite öffnen und eine Schaltfläche mit Makro hinzufügen download Meldung beim Öffnen und bei Zellauswahl in Spalte A download
Warten, bis eine Datei geschlossen wird, dann öffnen download Excel-Arbeitsmappe aus dem Internet öffnen und verschieben download
Download und Öffnen einer Arbeitsmappe download Beim Öffnen der Arbeitsmappe Bestellnummer eintragen download
Variablenübergabe in andere Arbeitsmappen download Einlesen von Zellinhalten in Variablen download
Variablen in einer temporären Textdatei zwischenspeichern download Zellinhalte in Verbindung mit Variablen in Textdatei schreiben download
Zinstabelle mit variablen Rückzahlungen download Auflistung der Kalenderwochen eines variablen Jahres download
Kapitalverzinsung mit fixen Raten und variablen Zinsen download Darlehensverzinszung bei variablen Rückzahlungsraten download
Variablen auf mehrere Arten in Funktionen integrieren download Benennung und Wert von Umgebungsvariablen ermitteln download