Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Datei erstellen, falls nicht vorhanden

Datei erstellen, falls nicht vorhanden
12.02.2015 11:45:50
Marvin
Hallo zusammen,
ich habe folgende Situation:
Ich habe eine Datei, bei der das relevante Sheet vorher als Variable invoice deklariert wurde.
In diesem Sheet befinden sich in Spalte A verschiedene IDs, die mehrmals vorkommen koennen.
Ziel meines Makros ist es in dem Pfad, der unten angegeben ist fuer jede ID in Spalte A eine Datei mit dem selben Namen zu erstellen.
Das klappt soweit wunderbar, allerdings bekomme ich wie zu erwarten Fehlermeldungen, dass die Datei schon im angegebenen Pfad existiert und demnach nicht erstellt werden kann oder mit einem "Copy" im Dateinamen.
Kann mir jemand weiterhelfen? Ich suche eine Moeglichkeit, vor dem erstellen der jeweiligen Datei, den angegeben Pfad darauf zu ueberpruefen, ob die zu erstellende Datei bereits besteht. Falls ja, soll diese Zeile uebersprungen werden, falls nein soll sie erstellt werden.
Hier der von mir gebastelte Code:

Sub FileCreate()
With invoice
last = .Cells(.Rows.Count, 1).End(xlUp).Row
End With
For i = 2 To last
x = invoice.Cells(i, 1).Value
Workbooks.Add.SaveAs "C:\Users\maotting\Desktop\Macros\MacroJagada\Files\" & x & ".xlsx" _
Next i
End Sub

Bin fuer jede Hilfe dankbar!!
Viele Gruesse
Marvin

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei erstellen, falls nicht vorhanden
12.02.2015 12:20:30
Rudi
Hallo,
if dir("C:\Users\maotting\Desktop\Macros\MacroJagada\Files\" & x & ".xlsx")="" then
Workbooks.Add.SaveAs "C:\Users\maotting\Desktop\Macros\MacroJagada\Files\" & x & ".xlsx"
end if
Gruß
Rudi

AW: Datei erstellen, falls nicht vorhanden
12.02.2015 12:20:48
Ralf
Hallo,
Sub FileCreate()
'offenbar nutzt du eine globale Variable für invoice
'besser:
'Sub FileCreate(ByRef Sht As Worksheet)
'invoice durch Sht ersetzen
Dim Pfad As String
With invoice
last = .Cells(.Rows.Count, 1).End(xlUp).Row
Pfad = "C:\Users\maotting\Desktop\Macros\MacroJagada\Files\"
ChDrive Left(Pfad, 1)
ChDir Pfad
For i = 2 To last
x = .Cells(i, 1).Value
If Dir(x & ".xlsx") = "" Then
Workbooks.Add.SaveAs Pfad & x & ".xlsx", xlOpenXMLWorkbook
Else
'überspringen
End If
Next i
End With
End Sub
Gruß
Ralf

Anzeige
AW: Datei erstellen, falls nicht vorhanden
12.02.2015 12:26:10
yummi
Hallo Marvin,
dann so:

Sub FileCreate()
With invoice
last = .Cells(.Rows.Count, 1).End(xlUp).Row
End With
For i = 2 To last
x = invoice.Cells(i, 1).Value
if Len(Dir("C:\Users\maotting\Desktop\Macros\MacroJagada\Files\" & x & ".xlsx") = 0  _
then
Workbooks.Add.SaveAs "C:\Users\maotting\Desktop\Macros\MacroJagada\Files\" & x & ".xlsx" _
_
end if
Next i
End Sub
Gruß
yummi

Anzeige
AW: Datei erstellen, falls nicht vorhanden
12.02.2015 12:30:48
Marvin
Hallo Leute,
vielen Dank fuer eure Hilfe!
5 Minuten nach Rudis Post habe ich die selbe Loesung rausbekommen und wollte Sie gerade posten.
Also, Problem geloest, nochmals danke an Alle!
Viele Gruesse
Marvin

dann doch erledigt. owT
12.02.2015 12:32:13
Rudi
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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