VBA funktioniert nach PC Wechsel nicht mehr
#11
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.
Top
#12
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:
  • StrammerMax
Top
#13
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
Top
#14
Hallo, :19:

sollte eigentlich passen... :21:
[-] Folgende(r) 1 Nutzer sagt Danke an Gast für diesen Beitrag:
  • StrammerMax
Top
#15
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.
[-] Folgende(r) 1 Nutzer sagt Danke an Käpt'n Blaubär für diesen Beitrag:
  • StrammerMax
Top
#16
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
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • StrammerMax
Top
#17
(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. Wink

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • StrammerMax
Top
#18
Vielen Dank euch allen nochmal :)
Top
#19
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
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste