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.

Makro funktioniert nicht
#1
Hallo,
ich habe einen Button auf einem Tabellenblatt (2022), beim Drücken dieses Buttons soll ein Teil eines anderes Tabellenblattes  (NamenslistePF) ausgedruckt werden und dann wieder auf das aktuelle Tabellenblatt (2022) gesprungen werden.

Der Makrotext ist:
Sub Druck()
'
' Druck Makro
'

'
    Sheets("NamenslistePF").Select
    Range("A1:E51").Select
    ActiveWindow.SelectedSheets.PrintOut From:=1, To:=1, Copies:=1, Collate _
        :=True, IgnorePrintAreas:=False
    Sheets("2022").Select
End Sub





Es zeigt die Fehlermeldung an:
Laufzeitfehler 9
Index außerhalb des gültigen Bereichs


Was mache ich falsch?

früher (vor dem hin- und herkopieren von Tabellenblättern) hat es immer funktioniert...

ich bin jetzt nicht so der Excel-Experte, wenn jemand eine Idee hat, wäre das super.

Grüße,
tannenbaum
Antworten Top
#2
Oh Tannenbaum,

tut mir leid, das musste jetzt sein.  Blush Wenn du dich ernsthaft mit Makros beschäftigen möchtest, solltest du dir als erstes die Verwendung von Select abgewöhnen. Die Fehlermeldung deutet darauf hin, dass du da auf ein Tabellenblatt? referenzierst, das es nicht gibt. Das kann man aber anhand deines Quelltextes nicht überprüfen. Welche Programmzeile wird denn markiert?
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#3
Auch Hallo,

mal als Ansatz

Code:
Sub Druck()
'
' Druck Makro
'
'
   With Worksheets("NamenslistePF")
      'Druckbereich festlegen
      .PageSetup.PrintArea = "$A$1:$E$51"
      .PrintOut From:=1, To:=1, Copies:=1, Collate _
           :=True, IgnorePrintAreas:=False
      'Druckbereich aufheben
      .PageSetup.PrintArea = ""
   End With
End Sub
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#4
In VBA darf man nicht springen.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top


Gehe zu:


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