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

Nach Wiederholung volle Funktion

Nach Wiederholung volle Funktion
10.07.2017 07:46:17
Lukas
Hallo Liebe VBA Community,
da Ich als Praktikant derzeit ein Makro erstellen muss welches Dateien so berarbeitet dass bestimmte Daten aus einem Excel file gezogen werden, komme ich zu meiner Frage.
Das Makro welches ich nutzen will befindet sich unten angehaengt. Jedoch wird mir sobald ich es das erste Mal nutze ein Error "Run-time error' -2147221080 ausgegegben.
Wenn ich den Debugger dann beende und das Makro nochmals durchlaufen lasse, funktioniert es wie gewuenscht ohne Fehlermeldung. Haette jemand eine Idee was ich tun kann? (Habe leider keinerlei Erfahrung in Sachen VBA)
Das Macro stoppt das erste mal beim ersten "auftauchen" von einem der in "if ausgenommenen Woerter.
Sub DeleteSheets()
Dim ws As Worksheet
Application.DisplayAlerts = False
For Each ws In Worksheets
If ws.Name  "Claims" And ws.Name  "Dealers" And ws.Name  "Campaigns" And ws.Name  " _
ExParts" And ws.Name  "Barcodes" And ws.Name  "TimeUnits" And ws.Name  "Vehicles" And ws. _
Name  "Mobility" And ws.Name  "RQI" And ws.Name  "ClaimsWithErrorCodes" Then ws.Delete
Next ws
Application.DisplayAlerts = True
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nach Wiederholung volle Funktion
10.07.2017 08:29:32
Oberschlumpf
Hi Lukas
Probier mal das hier (ungetestet, da ich keine Datei habe, die Tabellenblätter mit den genannten Namen enthält)
Sub DeleteSheets()
Dim ws As Worksheet, lboDel As Boolean
Application.DisplayAlerts = False
For Each ws In Worksheets
Select Case ws.Name
Case "Claims", "Dealers", "Campaigns", "ExParts", "Barcodes", "TimeUnits", "Vehicles", " _
Mobility", "RQI", "ClaimsWithErrorCodes"
lboDel = False
Case Else
lboDel = True
End Select
If lboDel = True Then
ws.Delete
End If
Next ws
Application.DisplayAlerts = True
End Sub

Entferne Zeilenumbrüche. Die Namen der Tabellenblätter sollten in einer Zeile stehen.
Hilfts?
Ciao
Thorsten
Anzeige
und Schreibweise prüfen
10.07.2017 08:39:51
KlausF
Hi Lukas,
und wenn der Code von Thorsten nicht helfen sollte, dann überprüfe
noch einmal genau, ob die Tabellennamen richtig geschrieben sind.
Manchmal hat ein Name im Tabellenreiter am Ende noch ein Leerzeichen,
dass man auf den ersten Blick nicht sieht – dann gibt's natürlich
eine Fehlermeldung ...
Gruß
Klaus
AW: Nach Wiederholung volle Funktion
10.07.2017 09:23:57
Lukas
Erstmal ein grosses Dankeschoen, bin beeindruckt wie schnell sich hier jemdand mir annimmt!
Leider kommt jetzt immer das schoene "Exel has stopped working" und Excel haengt sich komplett auf.
Jedoch sieht es bevor Excel sich aufhaengt, sehr erfolgsversprechend aus.
Ich checke jetzt nochmal die ganze Schreibweise, nicht dass ich ein Leerzeichen uebersehen habe
Anzeige
AW: Nach Wiederholung volle Funktion
10.07.2017 09:26:32
Oberschlumpf
anstelle von nur
Application.DisplayAlerts = False

verwende mal zusätzlich
Application.EnableEvents = False

was du am Ende des Codes natürlich auch wieder auf True setzen musst.
Hilfts?
AW: Nach Wiederholung volle Funktion
10.07.2017 09:34:55
Lukas
Genau das wars! Funktioniert wie eine eins! Vielen Dank Thorsten und Oberschlumpf fuer die Unterstuetzung. Freue mich sehr!! Das ging ja mal schnell!
wenn alles nix hilft,...
10.07.2017 09:28:21
Oberschlumpf
...zeig uns bitte eine Bsp-Datei, die eben genau den/die von dir beschriebene(n) Fehler verursacht

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige