Hallo zusammen,
das folgende Makro druckt mir die darin genannten Seiten der Arbeitsmappe:
Sub Drucken_alles()
Dim n As Integer, Blätter
Blätter = Array(„Blatt 2“, „Blatt 3“, „Blatt 3“, „Blatt 9“, usw)
For n = 0 To UBound(Blätter)
Worksheets(Blätter(n)).PrintOut
Next n
End Sub
Läßt sich das so eingrenzen, daß er Blatt 1 nur druckt, wenn
auf Blatt 1 in Zelle a5 ein Eintrag steht,
Blatt 2 nur dann, wenn
auf Blatt 1 in Zelle a6 ein Eintrag steht usw?
Kann jemand helfen?
Gruß und danke
Rolf
hi,
so in etwa:
If Sheets(1).Cells(1, 5 + n) „“ Then Worksheets(Blätter(n)).PrintOut
cu Micha
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hi Micha,
habe das jetzt so umgesetzt:
Sub Drucken_alles()
Dim n As Integer, Blätter
If Sheets(1).Cells(1, 5 + n) „“ Then Worksheets(Blätter(„Blatt2“)).PrintOut
End Sub
Aber das funktioniert nicht. Muß ich das noch was drum herum
konstruieren? So fit bin ich in VBA noch nicht.
Gruß
Rolf
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
hi Rolf,
anstatt deiner „printout“ Zeile
einfach meine einfügen ansonsten alles so lassen
cu Micha
hi Rolf,
anstatt deiner „printout“ Zeile
einfach meine einfügen ansonsten alles so lassen
cu Micha
Hi Micha,
jetzt sieht das so aus:
Sub Drucken_alles()
Dim n As Integer, Blätter
Blätter = ArrayBlätter = Array(„Blatt 2“, „Blatt 3“, „Blatt 5“, „Blatt 9“, usw)
For n = 0 To UBound(Blätter)
If Sheets(1).Cells(1, 5 + n) „“ Then Worksheets(Blätter(n)).PrintOut
Next n
End Sub
Er druckt aber nicht.
Und für mich sieht das so aus, daß er mit diesem Code wieder alle
genannten Blätter druckt, wenn auf Blatt1, Zelle A5 ein Eintrag steht.
Soll er aber nicht. Er soll
Blatt 2 drucken, wenn Eintrag auf Blatt 1 Zelle A5
Blatt 3 drucken, wenn Eintrag auf Blatt 1 Zelle A6
…
Blatt 7 drucken, wenn Eintrag auf Blatt 1 Zelle A10
Hast Du noch Lust?
Gruß
Rolf
hi,
Sub Drucken_alles()
Dim n As Integer
Dim Blaetter As Variant
Blaetter = Array(„Blatt 2“, „Blatt 3“, „Blatt 4“, „Blatt 5“)
For n = 0 To UBound(Blaetter)
If Sheets(„Blatt 1“).Cells(1, 5 + n) „“ Then Worksheets(Blaetter(n)).PrintOut
Next n
End Sub
wenn deine Tabellen anders heissen musst du natürlich den richtigen Namen benutzen
also z.B „Tabelle1“ etc. !!
cu Micha
*grummel*
hi,
Sub Drucken_alles()
Dim n As Integer
Dim Blaetter As Variant
Blaetter = Array(„Blatt 2“, „Blatt 3“, „Blatt 4“, „Blatt 5“)
For n = 0 To UBound(Blaetter)
If Sheets(„Blatt 1“).Cells(5 + n, 1) „“ Then
Worksheets(Blaetter(n)).PrintOut
Next n
End Sub
ich hatte Reihe und Spalte getauscht
typischer Anfängerfehler 
aber jetzt müsste es klappen
cu Micha
Hi Micha,
vielen Dank erstmal bis hierher für Deine Mühe.
Noch ein „End If“ eingefügt und dann hat er meine Auswahl gedruckt…
dachte er. Er stolpert aber wohl darüber, daß die Einträge in „Blatt 1“
nicht fortlaufend sind, sondern A5,A6,A8,A9,A12… Er druckt die
falschen Seiten, aber erst nach dem 1. Sprung, hier zB. von A6 auf A8.
Er müßte wohl direkt zB. A8 abfragen,um „Blatt4“ zu drucken.
Noch eine Idee?
Gruß
Rolf
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
dachte er. Er stolpert aber wohl darüber, daß die Einträge in
„Blatt 1“
nicht fortlaufend sind, sondern A5,A6,A8,A9,A12… Er druckt
die
falschen Seiten, aber erst nach dem 1. Sprung, hier zB. von A6
auf A8.
Er müßte wohl direkt zB. A8 abfragen,um „Blatt4“ zu drucken.
Hi Rolf,
Option Explicit
Sub Drucken\_alles()
Dim N As Integer, Zellen
Zellen = Array("A5", "A6", "A8", "A9", "A12")
For N = 0 To UBound(Zellen)
If Worksheets("Blatt " & N + 2).Range(Zellen(N)) "" Then Worksheets("Blatt " & N + 2).PrintOut
Next N
End Sub
Gruß
Reinhard
hi,
so jetzt mal ne wilde Mischung aus unseren Codes
Sub Drucken_alles()
Dim N As Integer
Dim Blaetter As Variant
Dim Zellen As Variant
Blaetter = Array(„Blatt 2“, „Blatt 3“, „Blatt 4“, „Blatt 5“, „Blatt 6“)
Zellen = Array(„A5“, „A6“, „A8“, „A9“, „A12“)
For N = 0 To UBound(Blaetter)
If Sheets(„Blatt 1“).Range(Zellen(N)) „“ Then
Worksheets(Blaetter(N)).PrintOut
End If
Next N
End Sub
das müsste jetzt hinhauen (wenn ich dich richtig verstanden habe)
cu Micha
p.s. @Reinhard:
http://www.wer-weiss-was.de/cgi-bin/forum/showarticl…
OT Excel 2007
cu Micha
p.s. @Reinhard:
http://www.wer-weiss-was.de/cgi-bin/forum/showarticl…
Hallo Micha,
jepp, ich sollte mich echt langsam von 65536 verabschieden.
Andrerseits ist das auch 'ne ABM-Maßnahme das per Makro in allen Makros verändern zu lassen 
Bei Microsoft kann man 2007beta als Onlineversion testen.
Gruß
Reinhard
Gruß
Reinhard
Danke Euch 
Moin zusammen,
Das klappt prima *freu*. Ich bin begeistert.
Herzlichen Dank Euch beiden.
Gruß und schönes WE
Rolf