Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1408to1412
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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

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

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

67 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige