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