Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1352to1356
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

wieso wird nicht gelöscht

wieso wird nicht gelöscht
23.03.2014 16:48:19
Kurt
Hallo zusammen,
nun tüftel ich schon seit 4h Stunden und komme nicht zum
gewünschten Ergebnis.
Es wird eine Datei erstellt, wenn dies aber schon vorhanden ist,
soll abgebrochen werden und die schon neu erstellte Mappe (ohne Namen)
gelöscht werden.
Bitte mal sehen, vielleicht habe ich aber nur was übersehen.
Wenn nicht vorhanden, läuft alles bestens auch das Speichern
ins Verzeichnis.
Übrings, erscheint immer Laufzeitfehler 53, Datei nicht gefunden.
Die Mappe (aktuelle Mappe32) ist aber vorhanden bzw. auf dem Bildschirm
zu sehen.
Private Sub NEU_BlattSpeichern()
Dim TBName$, WBName$
Dim tan
tan = ActiveSheet.Name
TBName = ActiveSheet.Name
If TBName = "" Then Exit Sub
WBName = InputBox("Kunden-Name eingeben !", _
"Dateinamen erstellen", tan & ".xls")
If WBName = "" Then Exit Sub
Worksheets(TBName).Copy
'--- so jetzt noch ins Verzeichnis speichern -------------
Dim fs As Object, OrdNam As Variant, Ord As Byte, Pfad As String
Dim DateiNam As String
Dim strFullName As String
DateiNam = WBName & " " & Format(Date, "YYYY.MM.DD") & ".xls"
If Dir("C:\#_Standort\#_Muster\DateiNam") = "" Then
MsgBox "Kunden-Name mit aktuellem Datum ist vorhanden !" & vbLf & vbLf & "Bitte ändern !"
Dim sDatei As String
sDatei = ActiveWorkbook.Name
If Dir(sDatei) = "" Then
Kill sDatei
End If
Exit Sub
Else
''' MsgBox "nicht vorhanden"
End If
....
hier geht es weiter mit speichern
mfg
kurt k

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: wieso wird nicht gelöscht
23.03.2014 16:58:32
ransi
HAllo
IUngetestet:
.
.
.
If Dir("C:\#_Standort\#_Muster\" & DateiNam) = "" Then
.
.
.
ransi

AW: wieso wird nicht gelöscht
23.03.2014 17:08:24
Oberschlumpf
Hey ransi
schreib nur nicht noch mehr Beschreibungstext zu der Codezeile.
Ich weiß anhand deiner Erklärungen nun gar nicht mehr, welchen Hinweis du dem geneigten Leser mit der Codezeile machen möchtest.
oder anders...
Kann es vielleicht sein, dass du auch von einem VBA-Newbie erwartest, dass er soooofort versteht, dass anstelle von = besser in der Codezeile stehen sollte?
Kann es dann im gleichen Kontext vielleicht sein, dass du zu viel Codeverständnis erwartest, da ja bei einem Anfänger von selbigem noch nicht soo viel vorhanden ist?
Ciao
Thorsten

Anzeige
AW: wieso wird nicht gelöscht
23.03.2014 18:00:41
ransi
Hallo Kurt
Dim DateiNam As String
DateiNam = WBName & " " & Format(Date, "YYYY.MM.DD") & ".xls"

DateiNam ist eine Variable.
Die musst du in deine Abfrage mit einarbeiten.
If Dir("C:\#_Standort\#_Muster\DateiNam") = "" Then
kann also nicht funktionieren.
Teste mal diese 2 Msgboxen:
Vieleicht wirds dann klar:
Msgbox "C:\#_Standort\#_Muster\DateiNam"
Msgbox "C:\#_Standort\#_Muster\" & DateiNam
ransi

Hallo Ransi...
23.03.2014 18:51:42
Kurt
Hallo Ransi,
habe natürlich so abgeändert wie in der 2. MSGBOX von Dir beschrieben.
Leider wieder Laufzeitfehler 53
Datei nicht gefunden.
Habe jetzt schon die Nummer 61, so oft schon getestet.
Habe für das Löschen folgende Zeilen eingesetzt:
' Windows(strFullName).Activate
' strFullName = Application.ActiveWorkbook.FullName
'Kill strFullName
keine Reaktion
und
With ThisWorkbook
.ChangeFileAccess xlReadOnly
Kill .FullName
.Close False
End With
kommt Abfrage egal Ja oder Nein, es wird meine Orginaldatei
gelöscht und nicht die neue Mappe62.
gruß kurt

Anzeige
AW: wieso wird nicht gelöscht
23.03.2014 18:04:17
ransi
Hallo Thorsten
Kann es dann im gleichen Kontext vielleicht sein, dass du zu viel Codeverständnis erwartest, da ja bei einem Anfänger von selbigem noch nicht soo viel vorhanden ist?
Ich denke damit hast du es auf den Punkt gebracht.
ransi

Auch getestet aber wieder Fehlermeldung
23.03.2014 19:23:09
Kurt
Hallo,
habe folgendes getestet:
If Dir("C:\#_Standort\#_Muster\" & DateiNam) "" Then
MsgBox "Kunden-Name " & DateiNam & _
Chr(13) & Chr(13) & " mit aktuellem Datum ist vorhanden !" & vbLf & vbLf & "Bitte ändern !
aDatei = ActiveWorkbook.Name
MsgBox aDatei 'es wird die Mappe 66 angezeigt, danach wieder Fehler wie vor.
gruß
kurt k
Kill aDatei

Anzeige
AW: Auch getestet aber wieder Fehlermeldung
23.03.2014 20:03:54
Tino
Hallo,
aDatei sollte den kompletten Pfad zur Datei enthalten.
Gruß Tino

AW: Auch getestet aber wieder Fehlermeldung
23.03.2014 20:08:56
Oberschlumpf
Hi Tino
und WIE lautet der Befehl, um deinen Vorschlag zu ereichen?!?
Hi Kurt
versuch mal:
aDatei = ActiveWorkbook.Path & "\" & ActiveWorkbook.Name
nun sollte aDatei den vollständigen Pfad + Dateiname enthalten.
Voraussetzung ist, dass die Datei schon mal gespeichert wurde.
Hilfts?
Ciao
Thorsten

AW: Auch getestet aber wieder Fehlermeldung
23.03.2014 20:21:21
Tino
Hallo,
es kann doch nicht die aktuelle offene Datei sein, die kann man nicht löschen!
Gruß Tino

AW: Auch getestet aber wieder Fehlermeldung
23.03.2014 20:26:57
Oberschlumpf
HI
ok, auch wieder wahr.
Ciao

Anzeige
Ja genau ;-) oT.
24.03.2014 11:25:32
Tino

AW: Auch getestet aber wieder Fehlermeldung
23.03.2014 21:20:25
Kurt
Hallo Tino,
bitte mal meinen kompletten Code Makro ansehen, es wird ja erst eine neue Mappe erstellt und
diese dann als neuen Dateinamen ersetzt.
Da ich festgestellt habe, dass die Datei schon mal mit den gewünschten Dateinamen besteht,
wird ja abgebrochen und jetzt wollte ich die Datei einfach löschen.
Also zuletzt Mappe62.
Ich werde gleich mal Testen das ich vorher die Mappe speichere um diese dann zu Löschen.
Gruß Kurt k

Anzeige
AW: Auch getestet aber wieder Fehlermeldung
23.03.2014 22:01:01
Tino
Hallo,
also wenn ich dich richtig verstehe müsste es so gehen.
Es wird zuerst geprüft ob die Datei vorhanden ist und wenn nicht erst dann erstellt.
Private Sub NEU_BlattSpeichern()
Dim TBName$, WBName$, DateiNam$, oWB As Workbook
Dim sPath$
sPath = "C:\#_Standort\#_Muster\"
TBName = ActiveSheet.Name
''es kann keine Tabelle ohne Namen geben
'If TBName = "" Then Exit Sub
WBName = InputBox("Kunden-Name eingeben !", "Dateinamen erstellen", TBName)
If WBName = "" Then Exit Sub
'ohne .xls, wird unten hinzugefügt
If Right$(LCase(WBName), 4) = ".xls" Then WBName = Left$(WBName, Len(WBName) - 4)
'--- so jetzt noch ins Verzeichnis speichern -------------
DateiNam = WBName & " " & Format(Date, "YYYY_MM_DD") & ".xls"
If Dir(sPath & DateiNam)  "" Then
MsgBox "Kunden-Name mit aktuellem Datum" & vbCr & _
"'" & DateiNam & "'" & vbCr & _
"ist vorhanden !" & vbLf & vbLf & "Bitte ändern !"
Exit Sub
Else
Worksheets(TBName).Copy
Set oWB = ActiveWorkbook
oWB.SaveAs sPath & DateiNam, FileFormat:=xlExcel8
''' MsgBox "nicht vorhanden"
End If
Gruß Tino

Anzeige
Danke !!!! -)
23.03.2014 22:15:13
Kurt
Hallo Tino und natürlich die Kollegen,
nachdem ich gespeichert habe, wenn die Datei schon vorhanden ist, habe diese geschlossen.
Und jetzt mit Kill gelöscht.
Einwandfrei,
werde aber mal morgen das Beispiel von Dir testen,
tausend Dank,
herzlichst kurt k

Fehler
23.03.2014 21:40:11
Kurt
Hallo,
Laufzeitfehler 70
Zugriff verweigert
Krupp k

Leider nicht Ransi.
23.03.2014 17:12:47
Kurt
Hallo Ransi,
leider kein Erfolg.
gruß kurt k

Welcher Fehler wieso 3 x ?
23.03.2014 17:24:54
Kurt
Wieso erscheint meine Info 3 x
Gruß Kurt k

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige