Anzeige
Archiv - Navigation
1724to1728
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

Daten einer Liste verteilen und drucken

Daten einer Liste verteilen und drucken
19.11.2019 04:49:02
Thomas
Guten Morgen Excelfreunde,
ich habe in der Tabelle1.Spalte a eine unbestimmte Anzahl von Daten. Diese möchte ich gern der reihe nach folgendermaßen verteilen, von Tabelle1 A1 nach Tabelle2.Range("D3") , dann von Tabelle1 A2 nach Tabelle2.Range("D5") und von Tabelle1 A3 nach Tabelle2.Range("d8") verteilen. Dann Drucken und anschließend
von Tabelle1 A4 nach Tabelle2.Range("D3") und von Tabelle1 A5 nach Tabelle2.Range("d5") und von Tabelle1 A6 nach Tabelle2.Range("d8") dann Drucken. unsw. Dies möchte ich gern solange machen bis alle Daten der Tabelle1 Spalte A durchlaufen sind. Die Daten der Tabelle1 sollen nicht gelöscht werden.
Mit diesem Makro funktioniert leider immer nur eine Zelle ( D3 )
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim WsQ As Worksheet: Set WsQ = Wb.Worksheets("Tabelle1")
Dim WsZ As Worksheet: Set WsZ = Wb.Worksheets("Tabelle2")
Dim r As Range, c As Range
Application.ScreenUpdating = False
With WsQ
Set r = .Range("A1:a" & .Range("a" & Rows.Count).End(xlUp).Row)
For Each c In r
With WsZ
.Range("D3") = c.Value
.Calculate: .PrintPreview '.PrintOut
End With
Next c
End With
Kann mir jemand helfen dieses Makro dementsprechend umzuschreiben? So das bei jedem durchlauf nicht nur .Range("D3") = c.Value sondern auch .Range("D5") = c.Value und .Range("D8") = c.Value vor dem drucken gefüllt wird?
Habt schon mal rechtvielen dank für euer Interesse.
mfg thomas

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten einer Liste verteilen und drucken
19.11.2019 06:15:59
Hajo_Zi
Hallo Thomas,
interpretiere ich es richtig?
Abstand 2;3;5;6;7;8....
nach jedem 3 Drucken. Warum?

AW: Daten einer Liste verteilen und drucken
19.11.2019 07:36:50
Thomas
Hallo Hajo,
besten dank das du dir dies anschaust.
Du hast recht ich habe das verwirrend geschrieben.
Ich habe in der Tabelle2 so eine Art Formular erstellt. Dieses möchte ich jeweils ausfüllen und dann drucken. Es soll eine Art Seriendruck sein. Bestimmt denkst du jetzt warum nehme ich nicht Word dazu.
Dies ist nur ein kleiner Baustein meiner Userform. Und ich möchte gern innerhalb von Excel bleiben. Desweitern werden noch mehr Felder ausgefüllt. Dies mache ich aber mit Formeln.
Das oben genannte Macro macht dies eigentlich schon fast. Nur leider wird immer nur ein Feld ( D3)ausgefüllt und dann gedruckt. Ich möchte aber gern drei Felder (D3, D5 und D8 )mit den Werten A1 A2 und A3 ausfüllen und dann drucken. Ich habe die mal versucht dies im Macro zu kommentierten.
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim WsQ As Worksheet: Set WsQ = Wb.Worksheets("Tabelle1")
Dim WsZ As Worksheet: Set WsZ = Wb.Worksheets("Tabelle2")
Dim r As Range, c As Range
Application.ScreenUpdating = False
With WsQ
Set r = .Range("A1:a" & .Range("a" & Rows.Count).End(xlUp).Row)
For Each c In r
With WsZ
.Range("D3") = c.Value ' hier der Wert aus Tabelle1 A1 > beim nächsten durchlauf hier der Wert aus Tabelle1 A4
.Range("D5") = c.Value ' hier der Wert aus Tabelle1 A2 > beim nächsten durchlauf hier der Wert aus Tabelle1 A5
.Range("D8") = c.Value ' hier der Wert aus Tabelle1 A3 > beim nächsten durchlauf hier der Wert aus Tabelle1 A6
.Calculate: .PrintPreview '.PrintOut
End With
Next c ' hier geht das Macro zu Tabelle1 A2 richtig wäre " gehe zu A 4
End With
Ich habe anbei noch ein kleines Beispiel angehangen. =
https://www.herber.de/bbs/user/133294.xlsm
hab schon mal recht vielen dank im voraus.
mfg thomas
Anzeige
AW: Daten einer Liste verteilen und drucken
19.11.2019 07:52:11
Hajo_Zi
Hallo Thomas,
Private Sub CommandButton1_Click()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim WsQ As Worksheet: Set WsQ = Wb.Worksheets("Tabelle1")
Dim WsZ As Worksheet: Set WsZ = Wb.Worksheets("Tabelle2")
Dim r As Range, c As Range
Dim LoLetzte As Long
Dim LoI As Long
Application.ScreenUpdating = False
With WsQ
'Set r = .Range("A1:a" & .Range("a" & Rows.Count).End(xlUp).Row)
LoLetzte = IIf(IsEmpty(Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(xlUp).Row, . _
Rows.Count)
For LoI = 1 To LoLetzte Step 3
With WsZ
.Range("D3") = WsQ.Cells(LoI, 1) ' hier der Wert aus Tabelle1 A1   >  beim nä _
chsten durchlauf hier der Wert aus Tabelle1 A4
.Range("D5") = WsQ.Cells(LoI + 1, 1) ' hier der Wert aus Tabelle1 A2 >  beim nä _
chsten durchlauf hier der Wert aus  Tabelle1 A5
.Range("D8") = WsQ.Cells(LoI + 2, 1) ' hier der Wert aus Tabelle1 A3 >  beim nä _
chsten durchlauf hier der Wert aus Tabelle1 A6
.Calculate
.PrintPreview '.PrintOut
End With
Next LoI ' hier geht das Macro zu Tabelle1 A2   richtig wäre " gehe zu A 4
End With
End Sub
Gruß Hajo
Anzeige
Besten dank an Hajo
19.11.2019 08:30:25
Thomas
Hallo Hajo,
das passt, hab recht vielen vielen dank für deine Lösung. Sie ist perfekt.
mfg thomas

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige