Anzeige
Archiv - Navigation
1900to1904
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

falls datei existiert zurück zu excel

falls datei existiert zurück zu excel
12.10.2022 17:23:21
yannick
Hallo zusammen
Ich bin ein totaler Anfänger was das Arbeiten mit Makros betrifft. Habe mich die letzten Tage ein erstes Mal eingelesen in das Thema und ein erstes Excel versucht.
Ich möchte eine Tagesabrechnung erstellen, welche mit einem CommandButton abgespeichert werden kann.
Der Name des neuen Files ist in der Zelle "B20" (Es ist ein Datum).
Endziel wäre für mich, dass ich für jeden Monat die einzelnen Tage zusammenfassen kann. Aber da bin ich noch weit entfernt..
Wenn ein neues Datum abgespeichert wird, klappt es und die Mappe wird sogleich geschlossen.
Falls aus Versehen ein Datum eingegeben wird, welches schon vorhanden ist im Ordner, kommt "Es ist bereits ein.. unter diesem Namen, soll es überschrieben werden?" - Wenn ich auf nein klicke, kommt "Laufzeitfehler 1004"
Ich möchte ein Fenster, welches darauf hinweist und ich das Excel nochmals bearbeiten kann.
Wie geht das?
Ich hoffe, ich langweile euch nicht mit dieser Anfängerfrage..
Beste Grüsse
yan_n
Mein bisheriger Code:

Private Sub CommandButton1_Click()
Select Case MsgBox("Sind alle Angaben korrekt?" & Chr(13), vbQuestion + vbYesNo, "Tagesabrechnung abschliessen")
Case vbNo
Exit Sub
Case vbYes
Const myPath = "C:\hier\steht\mein\pfad"
ActiveSheet.SaveAs myPath & Range("B20").Value & ".xls"
MsgBox "Die Tagesabrechnung wurde erfolgreich gespeichert", vbOKOnly, "Bald Feierabend"
End Select
Application.Quit
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: falls datei existiert zurück zu excel
12.10.2022 18:03:20
Daniel
Hi
du kannst mit DIR abfragen, ob eine Datei schon vorhanden ist:

Private Sub CommandButton1_Click()
Const myPath = "C:\hier\steht\mein\pfad"
Dim Datei As String
If Dir(myPath & Range("B20").Value & ".xls")  "" Then
MsgBox "Datum schon vorhanden, bitte neu eingeben"
Else
Select Case MsgBox("Sind alle Angaben korrekt?" & Chr(13), vbQuestion + vbYesNo, "Tagesabrechnung abschliessen")
Case vbNo
Exit Sub
Case vbYes
ActiveSheet.SaveAs myPath & Range("B20").Value & ".xls"
MsgBox "Die Tagesabrechnung wurde erfolgreich gespeichert", vbOKOnly, "Bald Feierabend"
Application.Quit
End Select
End If
End Sub
Gruß Daniel
Anzeige
AW: falls datei existiert zurück zu excel
13.10.2022 13:53:58
yannick
Hi Daniel
Vielen Dank für deinen Support. Es funktioniert und ist ein super Anfang für mich. Herzlichen Dank!
Noch zwei Zusatzfragen:
1) Falls ich die Datei auf mehreren Geräten benutzen möchte und über eine Cloud abspeichern möchte, kann ich den Dateipfad mit der Internetadresse:
"https//dasistmeineCloud/documents/etc"
als Pfad eingeben?
Oder muss ich mich auf allen Geräten mit der Cloud anmelden?
2) vor dem Abspeichern sollte in der Zelle B21 zwingend ein Name stehen. Kann man das in den Private Sub CommandButton einbauen oder brauche ich einen zusätzlichen mit ActiveSheet_BeforeSave?
Beste Grüsse
Anzeige
AW: falls datei existiert zurück zu excel
13.10.2022 14:06:10
Daniel
1) keine Ahnung
2)

...
If Range("B21").Value = "" Then
Msgbox "Bitte Namen in B21 eingeben"
ElseIf Dir(myPath & Range("B20").Value & ".xls")  "" Then
MsgBox "Datum schon vorhanden, bitte neu eingeben"
Else
End if
Wenn du noch mehrere Bedingungen hast die geprüft werden sollen, kannst du noch weitete Zeilen mit ElseIf einfügen.
Diese werden dann von oben nach unten durchgearbeitet, abgearbeitet wird immer nur der teil, der als erstes zutrifft.
Der Else-Teil wird dann ausgeführt, wenn keiner der If oder elseif-Teile zutreffend war.
Gruß Daniel
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige