Der Code ist grundsätzlich in Ordung. Allerdings solltest du auf .Select / Selection verzichten und stattdessen gleich Sheets("Deckblatt").Range("A1:G15").PrintOut Copies:=1, Collate:=True machen. Der Grund: Das Selektieren kostet grafische Zeit, in der die Schleife schon weiterläuft. Dadurch kann sich der Code verhaspeln und auf ein noch nicht fertig selektiertes und daher noch gesperrtes Objekt zugreifen. Ergebnis. Ein Laufzeitfehler.
Falls es danach noch immer nicht funktioniert, dann mach mal überall ein .Value dahinter. Zwar ist das die Standardeigenschaft und kann in den allermeisten Fällen weggelassen werden. Aber manchmal kommt es dennoch zu Laufzeitfehlern, wenn das fehlt. Sauberer ist es mit .Value
Drittens: Prüfe ob die Schleife wirklich bei der ersten leeren Zeile aufhört. Falls du Daten bis zur allerletzten verfügbaren Zeile hast, wird x + 1 auf eine Zelle außerhalb des Blattes zugreifen, was auch einen Laufzeitfehler verursacht. Das aber ist selten, weil niemand so viele Daten hat. Wollts nur mal gesagt haben.
Gruß Mr. K.
|