Clever-Excel-Forum

Normale Version: Per Makro Abfrage erzeugen welche Tabelltenblätter ausgedruckt werden sollen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3 4
Hallo,

kann mir bitte jemand dabei helfen wie ich ein Makro erstellen kann was in einem Zellenbereich die Zellen ausliest in welchen ein X vorhanden ist. Diese Tabellenblätter sollen dann ausgedruckt werden

Beispiel: Tabelle hat - folgende Tabellenblätter : tbl 1 / tbl 2 / tbl 3 / tbl 4

Nun möchte ich folgendes im Zellenbereich des Makros prüfen lassen:

tbl 1: x
tbl 2:
tbl 3:
tbl 4: x

Das Makro sollte die beiden x erkennen und nur tbl 1 und tbl 4 ausdrucken. Gibt es dieses Makro so schon oder kann mir jemand beim erstellen behilflich sein ?

Gruß Daniel
Moin!
Ausgesprochen ungenaue Threaderöffnung. 

Daher nur ein Snippet:
Code:
Sub Machet()
Dim i#
For i = 1 To 4
 If Tabelle1.Cells(2, i).Text = "x" Then _
   Worksheets(Tabelle1.Cells(1, i).Text).PrintOut
Next
End Sub

Gruß Ralf
Hallo Ralf,

Cells(2,i) i und die 2 tauschen, oder Wink
Au Backe!  Blush
Danke für die Korrektur, atilla!
Natürlich so:
Code:
Sub Machet()
Dim i#
For i = 1 To 4
 If Tabelle1.Cells(i, 2).Text = "x" Then _
   Worksheets(Tabelle1.Cells(i, 1).Text).PrintOut
Next
End Sub

Gruß Ralf
Hallo, wusste nicht wie es es genau beschreiben soll.

Die erste Zelle wo ein x stehen kann ist L22

Also habe ich die Werte umgeschrieben aber ich bekommen eine Fehlermeldung. Laufzeitfehler 424. Warum ist eine # hinter i?


Sub Machet()
Dim i#
For i = 22 To 30
 If Kundendaten.Cells(i, 12).Text = "x" Then _
   Worksheets(Kundendaten.Cells(i, 11).Text).PrintOut
Next
End Sub
Moin!
Den LZF 424 kann ich nicht nachvollziehen.
Dein Code ist soweit i.O., vielleicht zeigst Du mal die Datei, damit man sich das ansehen kann.
Zitat:Warum ist eine # hinter i?

Ist das Kurzzeichen für Double.
Ich hätte auch & für Long oder % für Integer nehmen können.
(oder es ganz weglassen -> Variant)
Macht bei diesem kurzen Code alles nichts aus.
siehe:
https://de.wikibooks.org/wiki/VBA_in_Exc...ablentypen

Gruß Ralf
Hallo, habe es mal in eine einzelne Datei gepackt da meine Tabelle nicht hier einstellen kann. Da kommt der Fehler nicht aber es wird auch nicht gedruckt
Na logisch, dass nichts gedruckt wird.
Du fragst Tabelle1 ab, die x stehen aber in Tabelle4

Ergänzend:
Ich benutze den CodeName, der steht im Projektexplorer vor der Klammer.

Gruß Ralf
Guten Morgen, ah verdammt da war ich woll zu schnell beim erstellen.

OK aber es macht ja nicht das ich suche.

Ich wollte ja, dass dieses Makro anhand der x Eintragungen prüft welche Tabellenblätter ausgedruckt werden sollen und den Druckvorgang direkt startet. Sollen Tabelle 1 und 4 ausgedruckt werden wird das durch das X angezeigt und das Makro startet sofort den Druckvorgang. Daher habe ich ja in der Spalte K die Tabellennamen gleich Name Tabellenblatt eingetragen.
Hallo,

Dein Code ist falsch.

so sollte er aussehen:

Code:
Sub Machet()
Dim i#
For i = 22 To 30
 If Tabelle4.Cells(i, 12).Text = "x" Then _
   Sheets(Tabelle4.Cells(i, 11).Text).PrintOut
Next
End Sub
Ok, hat Ralf schon genauso geschrieben.
Aber vielleicht schaust Du noch einmal nach, was genau bei Dir steht.
Seiten: 1 2 3 4