Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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.
Antworten 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:
________
Servus
Case
[-] Folgende(r) 1 Nutzer sagt Danke an Case für diesen Beitrag:
  • StrammerMax
Antworten 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
Antworten Top
#14
Hallo, :19:

sollte eigentlich passen... :21:
________
Servus
Case
[-] Folgende(r) 1 Nutzer sagt Danke an Case für diesen Beitrag:
  • StrammerMax
Antworten 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.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
[-] Folgende(r) 1 Nutzer sagt Danke an Käpt'n Blaubär für diesen Beitrag:
  • StrammerMax
Antworten 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
Antworten Top
#17
(04.09.2019, 20: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
Antworten Top
#18
Vielen Dank euch allen nochmal :)
Antworten 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
Antworten Top


Gehe zu:


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