Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
728to732
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
728to732
728to732
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

an Josef Ehrensberger

an Josef Ehrensberger
09.02.2006 20:48:45
Ernst
Guten Abend Sepp
Du hast mir letzte Woche ein Makro geschrieben, welches gut funktioniert.
Jetzt habe ich noch ein weiteres Problem.
Die Tabellen12,13 und 14 dürfen nur gedruckt werden, wenn in der Zelle AA38 der Tabelle1 der Wert 2 steht.
Darf ich dich bitten den Code anzupassen.
mit freundlichen Grüssen
Ernst Dunkel
Option Explicit

Sub AlleDrucken()
Dim objSh As Worksheet
For Each objSh In Worksheets
With objSh
If objSh.Visible Then
If .Name = "11.1 U-Werte" Then
If .Range("B5") = "" Then
.PageSetup.PrintArea = ""
Else
.PageSetup.PrintArea = "B1:O71"
If .Range("B76") <> "" Then .PageSetup.PrintArea = "B1:O141"
If .Range("B147") <> "" Then .PageSetup.PrintArea = "B1:O213"
.PrintOut
End If
Else
.PrintOut Copies:=1, Collate:=True
'       .PrintOut Copies:=1, Preview:=True, Collate:=True
'        .PrintOut
End If
End If
End With
Next
End Sub

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
warum nur an ihn?
09.02.2006 20:51:27
MichaV
Hallo,
bei allem Respekt vor Sepp seinen Antworten möchte ich mal darauf hinweisen, daß das hier nicht sein Privatforum ist. Warum dürfen andere potentielle Antworter nicht den Code nach Deinen Bedürfnissen anpassen? Was, wenn Sepp die nächsten Tage mal keine Zeit hat, soll Deine Frage dann unbeantwortet bleiben?
Gruß- Micha
@ Micha
09.02.2006 21:24:20
Franz
Hallo Micha,
wäre schön gewesen, wenn du jetzt auch gleich den Code nach Ernsts Wünschen angepasst hättest..............
Grüße
Franz
@ Franz
09.02.2006 21:27:40
MichaV
ja das kann sein. Aber vielleicht will er das ja nicht?
Oder vielleicht kann ich das nicht. Dann darf ich doch aber trotzdem darauf hinweisen, oder nicht?
Aber okay, ich hätte die Frage wenigstens offen lassen sollen, hab ich wirklich verpennt. Wollt nur mal meine Meinung über diese zunehmende "Frage an den und den"- (in meinen Augen)Unsitte ablassen.
Anzeige
AW: @ Micha
09.02.2006 22:40:03
Franz
Ernst hat ja seine Motive genannt - und so hätt ich's auch verstanden. Aber ich denke schon auch, dass man seine Fragen an alle stellen sollte!
nix für ungut
Franz
AW: warum nur an ihn?
09.02.2006 21:29:46
Ernst
Hallo Micha
das war natürlich nicht so gedacht Micha, da das Makro von Sepp stammt, habe ich eben gedacht, dass er mir am einfachsten helfen kann.
Sorry, wenn das nun falsch angekommen ist.
mfg
Ernst Dunkel
AW: warum nur an ihn?
09.02.2006 21:48:20
MichaV
Hallo,
guck mal, ob das so okay für Dich ist:

Sub AlleDrucken()
Dim objSh As Worksheet
Const strDeine3Tabellen = "Tabelle1" & vbTab & "Tabelle2" & vbTab & "Tabelle4"
For Each objSh In Worksheets
With objSh
If objSh.Visible Then
If .Name = "11.1 U-Werte" Then
If .Range("B5") = "" Then
.PageSetup.PrintArea = ""
Else
.PageSetup.PrintArea = "B1:O71"
If .Range("B76") <> "" Then .PageSetup.PrintArea = "B1:O141"
If .Range("B147") <> "" Then .PageSetup.PrintArea = "B1:O213"
.PrintOut
End If
ElseIf InStr(strDeine3Tabellen, .Name) > 0 Then
If Sheets("Tabelle1").Range("AA38") = 2 Then .PrintOut Copies:=1, Collate:=True
Else
.PrintOut Copies:=1, Collate:=True
End If
End If
End With
Next
End Sub

Gruß- Micha
PS: Rückmeldung wäre nett.
Anzeige
AW: warum nur an ihn?
09.02.2006 22:16:29
Ernst
Guten Abend
vielen Dank Micha für deine Bemühungen. Das Makro funktioniert so wie ich es mir erhofft habe.
Habe den Code noch ergänzt, siehe unten.
Möchte mich nochmals entschuldigen, bezüglich der Anrede an Sepp.
Mit freundlichen Grüssen
Ernst Dunkel

Sub AlleDrucken()
Dim objSh As Worksheet
Dim Mldg As String
Mldg = MsgBox("Wollen Sie wirklich alle ausgefüllten Blätter drucken?", vbOKCancel)
If Mldg = 2 Then Exit Sub
Const strDeine3Tabellen = "Tabelle1" & vbTab & "Tabelle2" & vbTab & "Tabelle4"
For Each objSh In Worksheets
With objSh
If objSh.Visible Then
If .Name = "11.1 U-Werte" Then
If .Range("B5") = "" Then
.PageSetup.PrintArea = ""
Else
.PageSetup.PrintArea = "B1:O71"
If .Range("B76") <> "" Then .PageSetup.PrintArea = "B1:O141"
If .Range("B147") <> "" Then .PageSetup.PrintArea = "B1:O213"
.PrintOut
End If
ElseIf InStr(strDeine3Tabellen, .Name) > 0 Then
If Sheets("Tabelle1").Range("AA38") = 2 Then .PrintOut Copies:=1, Collate:=True
Else
.PrintOut Copies:=1, Collate:=True
End If
End If
End With
Next
End Sub

Anzeige
Danke für die Rückmeldung. mT
09.02.2006 22:21:42
MichaV
Hallo Ernst,
lass mal gut sein, ich wollte nur dezent darauf hinweisen ;o)
Du kannst Deine Beiträge weiterhin schreiben, wie es Dir beliebt. (habe heute meinen großzügigen Tag :)
Gruß- Micha
AW: Danke für die Rückmeldung. mT
09.02.2006 23:42:40
Nepumuk
Hallo Micha,
ich versteh dein Problem nicht. Ich lasse alle Beiträge, die an einen speziellen Antworter gerichtet sind, auch an mich, grundsätzlich links liegen.
Gruß
Nepumuk
AW: Danke für die Rückmeldung. mT
10.02.2006 16:22:03
MichaV
Hallo Nepumuk,
ich lasse (inzwischen) auch fast alle Beiträge liegen, an denen ich was herumzumäkeln habe.
Aber manchmal muß es halt raus ;o)
Gruß- Micha

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige