Laufzeitfehler 1004
#1
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 
Antworten Top
#2
Hallo Achim,

nimm einen Dialog, den es auch gibt! Wink

Gruß Uwe
Antworten Top
#3
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 
Zum übersetzen von Excel Formeln:

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

Application.Dialogs(xlDialogPrint).Show

mfg Gast 123
Antworten Top
#5
Spielverderber! Wink
Antworten Top
#6
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
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#7
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?
Antworten Top
#8
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 …
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#9
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.
Antworten Top
#10
Vielleicht am Ende auch
Code:
    Worksheets("GU_Ausdruck").Select
    Application.SendKeys "^p"
End Sub
Antworten Top


Gehe zu:


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