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

Forumthread: löschen und schließen

löschen und schließen
08.11.2019 18:19:07
bassi
Hallo miteinander,
ich scheitere gerade.
Ich möchte die aktuell benutzte Datei schließen und dann löschen.
Folgenden Code habe ich gefunden und unter "Befor close" eingebaut:
With ThisWorkbook
.Saved = True
.ChangeFileAccess xlReadOnly
Kill .FullName
.Close False
End With
leider funktioniert das so nicht.
Hat jemand eine Idee wie ich das anstellen kann?
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: löschen und schließen
08.11.2019 18:50:46
Hajo_Zi
eine offene Datei löschen
Sub zMloesche()
'   von Jürgen Wenzel
ActiveWorkbook.ChangeFileAccess xlReadOnly
Kill ActiveWorkbook.FullName
ThisWorkbook.Close False
End Sub
Sub zMloesche_ver()
'   angepast, damit nicht zwischen This und Active gewechselt wird
'   vom Melanie Breden
With ThisWorkbook
.ChangeFileAccess xlReadOnly
Kill .FullName
.Close False
End With
End Sub
Sub Loeschen()
' schreibgeschützte Datei löschen
' Nepumuk
With ThisWorkbook
SetAttr .FullName, vbNormal
Kill .FullName
.Close False
End With
End Sub


Anzeige
Vielen lieben Dank
08.11.2019 19:26:03
bassi
Bingo.... Jawoll es klappt jetzt.
Erst hatte ich gar keine Lösung jetzt gleich mehrere. Ihr seid echt klasse.
Nochmals vielen herzlichen Dank.
Liebe Grüße
bassi
AW: Vielen lieben Dank
08.11.2019 19:26:56
bassi
ups... Häckchen falsch gesetzt... jetzt aber ....
AW: Vielen lieben Dank
08.11.2019 19:27:01
Hajo_Zi
offen bedeutet es soll noch eine Antwort kommen.
Warum ist dein Beitrag Offen.
Das ist nur meine Meinung zu dem Thema.

Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Excel-Dateien effizient löschen und schließen


Schritt-für-Schritt-Anleitung

Um eine Excel-Datei mit VBA zu schließen und anschließend zu löschen, folge diesen Schritten:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel, indem du ALT + F11 drückst.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf „VBAProject (deineDatei.xlsx)“ und wähle „Einfügen“ > „Modul“.

  3. Kopiere und füge den folgenden VBA-Code in das Modul ein:

    Sub DateiLoeschenUndSchliessen()
       With ThisWorkbook
           .Saved = True  ' Markiere die Datei als gespeichert
           .ChangeFileAccess xlReadOnly  ' Ändere die Zugriffsrechte
           Kill .FullName  ' Lösche die Datei
           .Close False  ' Schließe die Datei ohne zu speichern
       End With
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus, um die Datei zu löschen und zu schließen.


Häufige Fehler und Lösungen

  • Fehler: „Zugriff verweigert“

    • Lösung: Stelle sicher, dass die Datei nicht in einem anderen Programm geöffnet ist und dass du die richtigen Berechtigungen hast.
  • Fehler: „Datei kann nicht gelöscht werden“

    • Lösung: Überprüfe, ob die Datei schreibgeschützt ist. Du kannst den Status mit SetAttr wie im folgenden Code ändern:
    SetAttr .FullName, vbNormal  ' Setze die Datei auf normal

Alternative Methoden

Falls du eine andere Methode bevorzugst, um eine Excel-Datei zu löschen, kannst du die ActiveWorkbook-Eigenschaft verwenden:

Sub LoeschenMitActiveWorkbook()
    ActiveWorkbook.ChangeFileAccess xlReadOnly
    Kill ActiveWorkbook.FullName
    ActiveWorkbook.Close False
End Sub

Diese Methode entfernt die Notwendigkeit, zwischen ThisWorkbook und ActiveWorkbook zu wechseln.


Praktische Beispiele

Hier sind einige zusätzliche Beispiele, die du nutzen kannst, um Excel-Dateien zu löschen oder zu schließen:

  1. Löschen einer schreibgeschützten Datei:

    Sub SchreibgeschuetzteDateiLoeschen()
       With ThisWorkbook
           SetAttr .FullName, vbNormal  ' Entferne den Schreibschutz
           Kill .FullName  ' Lösche die Datei
           .Close False  ' Schließe die Datei
       End With
    End Sub
  2. Schließen und Löschen von einer Datei, die nicht gespeichert wurde:

    Sub NichtGespeicherteDateiLoeschen()
       With ThisWorkbook
           .Saved = True  ' Setze den Speicherstatus
           Kill .FullName  ' Lösche die Datei
           .Close False  ' Schließe die Datei
       End With
    End Sub

Tipps für Profis

  • Backup: Stelle sicher, dass du vor dem Löschen von Dateien immer ein Backup hast, um Datenverluste zu vermeiden.
  • Debugging: Verwende Debug.Print im Code, um den Fortschritt zu verfolgen und Fehler zu identifizieren.
  • Testen: Teste den Code mit einer Kopie der Datei, bevor du ihn auf wichtigen Dokumenten anwendest.

FAQ: Häufige Fragen

1. Kann ich den Code anpassen, um mehrere Dateien gleichzeitig zu löschen?
Ja, du kannst eine Schleife verwenden, um mehrere Dateien zu durchlaufen und sie nacheinander zu löschen.

2. Was passiert, wenn ich die Datei versehentlich lösche?
Eine gelöschte Datei kann in der Regel nicht wiederhergestellt werden, es sei denn, du hast ein Backup oder verwendest Software zur Datenwiederherstellung.

3. Ist dieser Code mit allen Excel-Versionen kompatibel?
Der bereitgestellte VBA-Code sollte mit den meisten modernen Excel-Versionen funktionieren, einschließlich Excel 2016 und später.

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