Per Makro Abfrage erzeugen welche Tabelltenblätter ausgedruckt werden sollen
#11
Hallo,

Also bei dem Code passiert nichts. Es springt in Tabelle 1 und das wars. Der Printvorgang wird aber nicht gestartet. Geht es bei euch ?
Gruß Daniel Albert

Finanzberater für Baufinanzierungen
Top
#12
Hi Daniel,

(03.07.2017, 08:37)Daniel Albert schrieb: Also bei dem Code passiert nichts. Es springt in Tabelle 1 und das wars. Der Printvorgang wird aber nicht gestartet. Geht es bei euch ?

bei mir geht es:

.xlsm   definierte Blätter ausdrucken.xlsm (Größe: 18,98 KB / Downloads: 1)
[-] Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:
  • Daniel Albert
Top
#13
Ja komisch bei deiner Datei geht es auch mir bei - Danke

Werde es mal ausprobieren
Gruß Daniel Albert

Finanzberater für Baufinanzierungen
Top
#14
Hallo, also sehr komisch. Wenn ich den Code in eine neue Arbeitsmappe kopiere dann funktioniert dieser aber nicht in meiner bestehenden.

Ich erhalte folgende Fehlermeldung:

Laufzeitfehler 9

Index außerhalb des gültigen Bereichs

Meine Tabellen haben folgenden Namen:

   

und werden hier abgerufen. Ich hatte vorher die Namen die in Klammern stehen wie Kundendaten verwendet aber da geht es auch nicht

   

Code:
Sub Drucken()
  Dim i&
  For i = 22 To 30
     If Tabelle1.Cells(i, 12).Text = "x" Then _
         Worksheets(Tabelle1.Cells(i, 11).Text).PrintOut
  Next
End Sub

Was ist an meiner bestehenden Tabelle nicht richtig?
Gruß Daniel Albert

Finanzberater für Baufinanzierungen
Top
#15
Moin!
Schöne Screenshots!
Du hast keine Tabelle mit dem .Name "Tabelle1" in der Mappe!!
Ich bin eigentlich kein Freund von Textbausteinen, aber für Dich, weil Du in diesem Thread bereits zum zweiten Mal einen Anfängerfehler machst (sorry, aber der musste sein):

Ein Tabellenblatt kannst Du in plain Excel nur mit dem Namen, der auf dem "Tabellenreiter" steht ansprechen!
Bei VBA gibt es drei Möglichkeiten:
  1. Die .Name-Eigenschaft: Worksheets("Meine Tabelle").Range("A1") [steht in der Klammer]
  2. Den Code-Name: Tabelle4.Range("A1") [vor der Klammer]
  3. Den Index (lfd. Nr. des Sheets, von links mit 1 beginnend) Worksheets(4).Range("A1")
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)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Daniel Albert
Top
#16
Ich habe mich verschrieben. Also auch wenn ich alles ordentlich eintrage es geht nicht sobald ich aus dem Arbeitsblattname "Tabelle1" "Kundendaten" mache.


Angehängte Dateien
.xlsm   Mappe1.xlsm (Größe: 18,17 KB / Downloads: 6)
Gruß Daniel Albert

Finanzberater für Baufinanzierungen
Top
#17
Also ich finde den Fehler nicht, es kommt folgende Fehlermeldung:
Laufzeit 424 objekt erforderlich


Kann mir jemand Helfen
Gruß Daniel Albert

Finanzberater für Baufinanzierungen
Top
#18
Tut mir leid Daniel!
Ich habe Dir am 27.7. dezidiert den Unterschied zwischen .Name und .Codename erklärt.
Ich habe sogar noch konkrete Beispiele gegeben.
Habe Dir geschrieben, wo Du im Projektexplorer die jeweiligen Bezeichnungen findest.

Und Du schaffst es nach fast 400 Beiträgen nicht ansatzweise, dies zu verstehen?

Nimm es mir nicht übel, aber ich glaube kaum, dass ich Dir zukünftig helfen werde.

Da wir uns gerade im Luther-Jahr befinden, mal ein Zitat aus seiner Bibelübersetzung:
„Ihr sollt das Heilige nicht den Hunden geben und eure Perlen sollt ihr nicht vor die Säue werfen, damit die sie nicht zertreten mit ihren Füßen und sich umwenden und euch zerreißen.“ (Matthäus 7,6)

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)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Daniel Albert
Top
#19
Hallo Daniel,

(30.07.2017, 17:21)Daniel Albert schrieb:
Also ich finde den Fehler nicht, es kommt folgende Fehlermeldung:
Laufzeit 424 objekt erforderlich
Kann mir jemand Helfen

Ralf hat Dir hier geholfen bzw. es versucht. Nun kannst Du Dir nur noch selber helfen, in dem Du Ralfs Erklärung noch einmal durchgehst und versuchst, es nachzuvollziehen.

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Daniel Albert
Top
#20
Ja aber ich verstehe es nicht was ich in der 2ten Code Zeile verändern muss.


Code:
Sub Drucken()
Dim i#
For i = 22 To 30
If Worksheets("Kunden").Cells(i, 12).Text = "x" Then _
  Sheets(Tabelle1.Cells(i, 11).Text).PrintOut
Next
End Sub
Jetzt läuft es durch aber es passiert nicht. Es wird nichts gedruckt

Ich denke es liegt an Sheets(....

Da komme ich nicht weiter. Wenn ich dort auch Worksheets verwende kommt eine Fehlermeldung da hinter Text ebenfalls eine Klammer ist


Angehängte Dateien
.xlsm   Mappe1.xlsm (Größe: 24,61 KB / Downloads: 1)
Gruß Daniel Albert

Finanzberater für Baufinanzierungen
Top


Gehe zu:


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