Registriert seit: 24.02.2017
Version(en): 365; (2013)
04.09.2019, 13:04
(Dieser Beitrag wurde zuletzt bearbeitet: 04.09.2019, 13:13 von StrammerMax.)
Die Datei ist nicht von mir.
Ich habe relativ wenig Ahnung davon.
Es gibt eine Ausgangsdatei (Vorlage) - und einen Button Start (mit VBA Code). Wenn man Start drückt wird aus der Vorlage die endgültige Datei erstellt.
In der Vorlage gibt es kein Tabellenblatt 2 und die endgültige Datei wird dynamisch erstellt.
Aber wie gesagt - an der Datei wurde nichts geändert. Bei Windows 7 und Office 2010 läuft exakt dieses Makro (start) problemlos durch.
In der Vorlage steht noch, dass man das Makro nur aus einer .XLS Datei ausführen soll.
Die Datei war als XLSM gespeichert. Habe das geändert - aber der Fehler bleibt nach wie vor bestehen.
00202
Nicht registrierter Gast
Hallo, :19:
also ich vermute, dass in der alten Umgebung bei "Workbooks.Add" drei Tabellenblätter angelegt werden - dann klappt der Code ja.
In der neuen Umgebung wird bei "Workbooks.Add" nur ein Tabellenblatt angelegt. Also kommentiere die Zeilen mit "Tabelle2/3.Select" und "Tabelle2/3.Delete" mal aus und schau ob es klappt.
Wenn ja - und du musst es noch auf dem alten nehmen, dann nimm im Code "Workbooks.Add xlWBATWorksheet". :21:
Folgende(r) 1 Nutzer sagt Danke an Gast für diesen Beitrag:1 Nutzer sagt Danke an Gast für diesen Beitrag 28
• StrammerMax
Registriert seit: 24.02.2017
Version(en): 365; (2013)
04.09.2019, 13:52
(Dieser Beitrag wurde zuletzt bearbeitet: 04.09.2019, 13:52 von StrammerMax.)
Super, vielen Dank.
Und du bist dir sicher, dass der Code nicht mehr benötigt wird?
Nicht, dass am Ende ein Teil des Berichts fehlt :D
00202
Nicht registrierter Gast
Hallo, :19:
sollte eigentlich passen... :21:
Folgende(r) 1 Nutzer sagt Danke an Gast für diesen Beitrag:1 Nutzer sagt Danke an Gast für diesen Beitrag 28
• StrammerMax
Registriert seit: 11.04.2014
Version(en): '97 bis 2016; 365
04.09.2019, 14:34
(Dieser Beitrag wurde zuletzt bearbeitet: 04.09.2019, 14:34 von Käpt'n Blaubär.)
Hallo,
Zitat:Und du bist dir sicher, dass der Code nicht mehr benötigt wird?
man kann auch Code auf Kommentar setzen, dann testen und dann, wenn man sicher ist,
daß das Alles richtig läuft, den alten Code rausschmeißen, oder ihn weiterhin auf Kommentar
stehen lassen. Der frißt ja kein Brot.
Registriert seit: 12.03.2016
Version(en): Excel 2003/ 2016
Hallo
ich denke das die Massnahme des Kollegen bei Worksheet.Add nur 1 Blatt zu erstellen - völlig ausreicht.Wenn du aber ganz sicher gehen willst das der Code immer funktioniert aendere ihn bitte wie unten ab. Ich erklaere es dir für Laien:
Geprüft wird zuerst wie viele Tabellen in der Datei sind? Mich interessiert auch nicht ob es zwei oder mehr Tabellen sind, oder wie sie heissen. Das ist dem Makro völlig wurscht! Gelöscht wird alles -
AUSSER- der 1. Tabelle, denn nur auf die kommt es ja an! Ich denke damit ist das Problem endgültig gelöst.
mfg Gast 123
Code:
'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
'Betriebssystembestimmung abgeschlossen
temp = ActiveWorkbook.Name
ActiveWorkbook.Colors = Workbooks(myWorkbook).Colors
Application.DisplayAlerts = False
'Lösche ALLE überflüssigen Folge Tabellen -AUSSER- der 1. Tabelle!
'** mich interessiert dabei nicht die Anzahl und ob das Blatt Tabelle, Sheet oder Blatt heisst!
If Worksheets.Count > 1 Then
For sheetcounter = 2 To Worksheets.Count
Worksheets(sheetcounter).Delete
Next sheetcounter
End If
tempsheet = ActiveSheet.Name
Application.DisplayAlerts = True
WorkbookOpen = True
End sub
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
(04.09.2019, 21:32)Gast 123 schrieb: ich denke das die Massnahme des Kollegen bei Worksheet.Add nur 1 Blatt zu erstellen - völlig ausreicht.
So ist es: Dein Beitrag bzw. Dein Code ist überflüssig.
Abgesehen davon ist das Prüfen der Blätteranzahl unnötig, wenn man sowieso eine Schleife von 2 bis Blattanzahl einsetzt.

Gruß Uwe
Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:1 Nutzer sagt Danke an Kuwer für diesen Beitrag 28
• StrammerMax
Registriert seit: 24.02.2017
Version(en): 365; (2013)
Vielen Dank euch allen nochmal :)
Registriert seit: 12.03.2016
Version(en): Excel 2003/ 2016
Hallo an alle
danke an Uwe für den Hinweis das die If Then Anweisung überflüssig ist. Trotzdem muss ich noch einen Fehler im Code berichtigen.
Gelöscht werden muss natürlich Rückwaerts, weil For Next sonst in eine Fehlrmeldung laeuft. So ist es richtig!
Danke an den Tippgeber!mfg Gast 123
Code:
For lngC = Worksheets.Count To 2 Step -1
Worksheets(lngC).Delete
Next lngC