Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1756to1760
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

Absturz beim Löschen

Absturz beim Löschen
05.05.2020 08:13:18
Steve
Moin Leute,
ich habe ein schwerwiegendes Problem und finde einfach keine Lösung.
Ich lege per Makro Sheets, Listeneinträge und Ordner an. Wenn ich sie nicht mehr benötigt werden, sollen diese gelöscht werden. Aber Excel stürzt hierbei immer wieder ab. Und das aus meiner Sicht wilkürlich.
Das Makro sorgt dafür, das der Sheetname in drei Listen gesucht und die entsprechende Zeile gelöscht wird.
Dann wird der Ordner (auch Sheetname) gesucht und mit allen Unterordnern gelöscht. Danach wird das Sheet gelöscht.
Manchmal kann ich drei Sheets hintereinander löschen und es passiert nicht. Manchmal stürzt alles nach dem zweiten Löschbefehl ab. (Interessanterweise passiert das nie nach dem ersten Löschbefehl)
Ganz selten löscht das Makro in der Liste in Startseite zwei Zeilen weg und hängt sich auf.
Was ich versucht habe:
- Ich habe die Fehlerunterdrückung auskommentiert um zu sehen ob das die Ursache ist, aber da kommt dann nur die Frage ob ich das Sheet wirklich löschen möchte.
- Ich habe Bildschirmaktualisierung und EnableEvents auskommentiert, aber das brachte auch nichts.
- Der Versuch die Abläufe umzusortieren brachte auch keinen Erfolg.
- Mit F8 das Makro durchzugehen löste bei mir oft das Problem mit dem Löschen von mehr als einer Zeile aus.
https:\/\/www.herber.de/bbs/user/137265.zip
Kann mir da Bitte jemand helfen? Ich finde einfach keinen Fehler.
Die Datei hänge ich an.
PS: Ich habe schon drei Einträge vorbereitet. Sollten mehr nötig sein, kann man über die Startseite bei NEU weitere anlegen.
Liebe Grüße
Steve

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Makroname vergessen zu erwähnen.
05.05.2020 08:29:22
Steve
Moin Leute,
Sorry, habe vergessen zu erwähnen um welches Makro es sich handelt. Es handelt sich um das Makro: LÖSCHEN
Und ich habe noch eine Idee gehabt wie ich vielleicht den Fehler finden kann. Ich habe alles auskommentiert und immer nur eins der drei Abschnitte (Zeilen löschen, Ordner löschen, Sheet löschen)
ausgetestet.
Dabei stellte sich heraus, das die Ursache wohl das löschen der sheets ist. Aber ich habe keine Ahnung wie ich das beheben soll.
Liebe Grüße
Steve
Ursache vielleicht gefunden und behoben.
05.05.2020 11:26:35
Steve
Moin Leute,
ich habe ein wenig recherchiert. Wenn ich das richtig verstanden habe, dann belastet das Löschen der Ordner (obwohl die derzeit leer sind) und des Sheets erheblich den Excel-internen-Arbeitsspeicher. Ich habe nun den Code ein wenig angepasst, weiss aber nicht, ob es nur zufällig besser läuft und mir, wenn die Sheets und Ordner dann befüllt sind wieder um die Ohren fliegt.
Kann sich jemand wohl den Code anschauen und mir sagen ob das so brauchbar ist?
Option Explicit
Sub LÖSCHEN()
Dim VNR As String, strPfad As String
Dim fso As Object
Dim z As Long, lZ As Long
Dim objFSO As Object
strPfad = ThisWorkbook.Path
VNR = ActiveSheet.Range("N_Vorgangsnummer")
Space (16000000)
Application.ScreenUpdating = False
Application.EnableEvents = False
'Listeneinträge löschen'
lZ = Sheets("Startseite").Cells(65536, 2).End(xlUp).Row
For z = lZ To 1 Step -1
With Sheets("Startseite")
If .Cells(z, 2) = VNR Then .Rows(z).Delete
End With
With Sheets("LISTE")
If .Cells(z, 2) = VNR Then .Rows(z).Delete
End With
With Sheets("INFO")
If .Cells(z, 2) = VNR Then .Rows(z).Delete
End With
Next
Application.ScreenUpdating = True
Application.EnableEvents = True
'Sheet löschen'
Application.DisplayAlerts = False
With Sheets(VNR)
.Unprotect
.Delete
End With
Application.CutCopyMode = False
Application.DisplayAlerts = True
Sheets("Startseite").Select
'Ordner löschen'
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.DeleteFolder (strPfad & "\001 AKTIV\" & VNR)
Set objFSO = Nothing
Application.CutCopyMode = False
End Sub
Vielen Lieben Dank
Steve
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige