Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1448to1452
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Laufzeitfehler 1004

Laufzeitfehler 1004
08.10.2015 16:02:43
Falco
Tach zusammen ich nochmal,
ich bekomme nach "zusammenfügen" von mehreren Makros den Laufzeitfehler 1004.
Aber von vorn:
Es gibt Zellen die sind zum ausfüllen markiert:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Worksheets("S1 Deckblatt").Unprotect "FH"
Worksheets("S1 Deckblatt").Range("Ofenanlage").Interior.ColorIndex = 6
Worksheets("S1 Deckblatt").Range("Prüftag").Interior.ColorIndex = 6
Worksheets("S1 Deckblatt").Range("Techniker").Interior.ColorIndex = 6
Worksheets("S1 Deckblatt").Range("Betreuer").Interior.ColorIndex = 6
Worksheets("S1 Deckblatt").Protect "FH"
End Sub
wenn alles aus gefüllt ist dann kann man ein Button drücken der soll die Seite 1 speichern und alles ab Seite 2 als pdf drucken.
Button Modul:
Sub CommandButton1_Click()
Call GesamteMappeDrucken
Call AlsPDF
End Sub Makro GesamtMappeDrucken:
Sub GesamteMappeDrucken()
ActiveWorkbook.PrintOut from:=1, To:=1, Copies:=1, Collate:=True
End Sub Makro PDF:
Public Sub AlsPDF()
Sheets(Array("S1 Deckblatt", "S2 Geräte", "und noch mehr Seiten")).Copy
With ActiveWorkbook
.ExportAsFixedFormat Type:=xltyppdf, Filename:="Z:\QM\Seite2-TUS.pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=False, IgnorePrintAreas:=False, _
from:=2, To:=20, _
OpenAfterPublish:=False
.Close SaveChanges:=False
End With
End Sub
Bevor es irgendetwas drucken oder speichern soll, müssen die Markierungen weg.
Dies geschieht wie folgt:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Worksheets("S1 Deckblatt").Unprotect "FH"
Worksheets("S1 Deckblatt").Range("Ofenanlage").Interior.ColorIndex = xlNone
Worksheets("S1 Deckblatt").Range("Prüftag").Interior.ColorIndex = xlNone
Worksheets("S1 Deckblatt").Range("Techniker").Interior.ColorIndex = xlNone
Worksheets("S1 Deckblatt").Range("Betreuer").Interior.ColorIndex = xlNone
Worksheets("S1 Deckblatt").Protect "FH"
Worksheets("S2 Geräte").Unprotect "FH"
Worksheets("S2 Geräte").Range("Prüfgeräte").Interior.ColorIndex = xlNone
Worksheets("S2 Geräte").Range("Prüfsensoren").Interior.ColorIndex = xlNone
Worksheets("S2 Geräte").Protect "FH"
End Sub
Genau hier gibt er den Fehler aus und markiert die 2. Zeile:
Worksheets("S1 Deckblatt").Range("Ofenanlage").Interior.ColorIndex = xlNone
Woran liegt es? Ohne Entfernung der Markierung läuft es super per Button (speichern +drucken). Auch das manuelle "Speichern unter" funktioniert ohne Probleme mit Entfernen der Markierungen.
Danke im voraus. Wenn das zu beheben geht dann ist die Datei komplett fertig. Bei Antworten bitte etwas ausführlicher da ich es sonst nicht verstehen ;) am besten mit Bsp oder Korrektur
MfG und einen schönen Nachmittag
Falco

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 1004
09.10.2015 07:47:12
Falco
Nach mehrmaligen testen und rumexperimentieren weiss ich, dass der Fehler mit dem Button zutun hat der die beiden Makros aktiviert. der ganze speichern als pdf Teil kann hier ignoriert werden. Beim Test Button mit nur "call drucken..." kommt der Laufzeitfehler 1004 und springt in die bereits erwähnte 2. Zeile des Before Print zum "Farbe wechseln"

AW: Laufzeitfehler 1004
09.10.2015 09:46:41
Falco
Vergesst mich bitte nicht :(

AW: Laufzeitfehler 1004
12.10.2015 20:41:55
fcs
Hallo Falco,
es gibt wohl ein Problem, den Blattschutz innerhalb des Workbook_BeforePrint-Ereignismakros aufzuheben.
Denn das Blatt ist geschützt, wenn der Befehl zu Zellformatierung ausgeführt werden soll.
Lagere die Befehle zur Zellformatierung in ein "normales" Makro aus und rufe dieses Makro vor dem Drucken auf. Außerdem sollte man hier die weiteren Ereignismalros während der Makroausführung deaktivieren, damit es nicht zu unerwünschten Makroausführungen kommt.
Gruß
Franz
Sub CommandButton1_Click()
Application.EnableEvents = False
Call GesamteMappeDrucken
Call AlsPDF
Application.EnableEvents = True
End Sub
'Makro GesamtMappeDrucken:
Sub GesamteMappeDrucken()
prcFarbenzuruecksetzen
ActiveWorkbook.PrintOut from:=1, To:=1, Copies:=1, Collate:=True
End Sub
'Makro PDF:
Public Sub AlsPDF()
Dim strName
strName = "Z:\QM\Seite2-TUS.pdf"
'  strName = "C:\Users\Public\Test\Seite2-TUS.pdf"
Sheets(Array("S1 Deckblatt", "S2 Geräte", "und noch mehr Seiten")).Copy
With ActiveWorkbook
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=strName, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=False, IgnorePrintAreas:=False, _
from:=2, To:=20, _
OpenAfterPublish:=False
.Close SaveChanges:=False
End With
End Sub
Public Sub prcFarbenzuruecksetzen()
With Worksheets("S1 Deckblatt")
.Unprotect "FH"
.Range("Ofenanlage").Interior.colorindex = xlNone
.Range("Prüftag").Interior.colorindex = xlNone
.Range("Techniker").Interior.colorindex = xlNone
.Range("Betreuer").Interior.colorindex = xlNone
.Protect "FH"
End With
With Worksheets("S2 Geräte")
.Unprotect "FH"
.Range("Prüfgeräte").Interior.colorindex = xlNone
.Range("Prüfsensoren").Interior.colorindex = xlNone
.Protect "FH"
End With
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige