Clever-Excel-Forum

Normale Version: Laufzeitfehler 1004
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo liebe Experten,

wenn ich diesen Code ausführe, dann bekomme ich den Laufzeitfehler 1004
für die Zeile .Application.Dialogs(xlDialogsprint).Show

Ich möchte nach dem Einfügen der ganzen Werte gleich das Menü für "Seitenansicht und Drucken" anzeigen lassen.

Kann mir jemand sagen, was daran falsch ist?

PHP-Code:
Private Sub CommandButton2_Click()
    Worksheets("GU").Range("B2:C41").Copy 'Links
    Worksheets("GU_Ausdruck").Range("B2:C41").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    
    Worksheets("GU").Range("B42:C81").Copy '
Rechts
    Worksheets
("GU_Ausdruck").Range("F2:G41").PasteSpecial Paste:=xlPasteValuesOperation:=xlNoneSkipBlanks _
        
:=FalseTranspose:=False
        
    Worksheets
("GU").Range("B82:C121").Copy 'Links
    Worksheets("GU_Ausdruck").Range("B42:C81").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        
    Worksheets("GU").Range("B122:C161").Copy '
Rechts
    Worksheets
("GU_Ausdruck").Range("F42:G81").PasteSpecial Paste:=xlPasteValuesOperation:=xlNoneSkipBlanks _
        
:=FalseTranspose:=False

     With Worksheets
("GU_Ausdruck")
       .Application.Dialogs(xlDialogsprint).Show
    End With
End Sub 
Hallo Achim,

nimm einen Dialog, den es auch gibt! Wink

Gruß Uwe
Code:
Private Sub CommandButton2_Click()
    set it=sheets("GU").Range("B2:C41")
    with sheets("GU_Ausdruck")
       .Range("B2:C41")=it.value
       .Range("F2:G41")=it.offset(40).value
       .Range("B42:C81")=it.offset(80).Value
       .Range("F42:G81")=it.offset(120).Value
    end with
    Application.Dialogs(222).Show
End Sub 
Hallo

Application.Dialogs(xlDialogPrint).Show

mfg Gast 123
Spielverderber! Wink
Wink
Wobei ja nur snb die Frage korrekt beantwortet hat!
"Seitenansicht und Drucken" ist der beschriebene "alte" Application.Dialogs(222).Show

(hab erfolglos gesucht, welche xlDialog-Konstante den Wert 222 hat
xlDialogPrint ist jedenfalls 8
EDIT: 222 ist xlDialogPrintPreview)

@maine-coon:
Gewöhne Dir an, im VBA-Editor grundsätzlich klein zu schreiben, wenn Du schon keinen Blick auf den Bildschirm wirst, Stichwort Intellisense!
Dein application.dialogs(xldialogsprint).show
wird dann beim nächsten Zeilenwechsel zu
Application.Dialogs(xldialogsprint).Show

heißt: die unbekannte Konstante xldialogsprint bleibt klein geschrieben!
(ein dezenter Hinweis auf den Fehler)

Gruß Ralf
Hallo an alle,

das mit dem Groß und Kleinschreiben habe ich bisher nie so richtig beachtet.
Vermutlich, weil das Groß- und Kleinschreiben keinen Syntaxfehler bringt.
Werde mal versuchen da etwas mehr drauf zu achten.

Diese Zeile Application.Dialogs(222).Show mit der (222) kannte ich gar nicht.
Sie funktioniert zwar ohne Fehler, ist aber nicht die von mir erhoffte Lösung.
Aber immerhin, besser, als gar keine Lösung.

Wenn ich in meiner Symbolleite für den Schnellzugriff auf "Seitenansicht und Drucken" klicke,
dann erscheint die ganze Seite, aber auch gleich das Druckenmenü mit.

Mit Application.Dialogs(222).Show erscheint nur die Seitenansicht.

Gibt es dafür eine andere Nummer, als die 222?
Nö, dafür gibt es keine Konstante in der Dialogs-Auflistung.
Das liegt daran, dass die Backstage-Ansicht eben kein Dialog ist!
Da müssten dann die RibbonX-Experten aushelfen …
Ok, das geht dann weit über meine Kenntnisse hinaus.
Dann klicke ich auf das Icon und mache es wie bisher.

Dennoch vielen Dank für die Info.
Wünsche einen sonnigen Sonntag.
Vielleicht am Ende auch
Code:
    Worksheets("GU_Ausdruck").Select
    Application.SendKeys "^p"
End Sub
Seiten: 1 2