Anzeige
Archiv - Navigation
1256to1260
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

Alle Zellen einer Zeile auf eine Seite

Alle Zellen einer Zeile auf eine Seite
Stef@n
Hallo Exelaner
ich hab noch eine Frage:
Ich habe eine große Tabelle mit 100 Zeilen in 35 Spalten.
Jetzt möchte ich gern jede Zeile auf einer DinA4 Seite ausdrucken.
Dabei sollen die Zellinhalte auf der Seite entsprechend angeordnet werden.
Z.B. a1 bis c1 in der ersten Zeile
d1 bis e1 in der zweiten Zeile
Die Definition, welche Zellinhalte in welche ausgedruckte Zeile soll,
muss ich abhängig von der größe der Zellinhalte festlegen.
Oder immer 3 oder 4 Zellen in eine Zeile
Wie kann man so etwas durchführen ?
Freu mich auf einen Tip
Gruß
Stef@n
AW: Alle Zellen einer Zeile auf eine Seite
18.04.2012 12:33:50
marcl
Hallo Stf@n,
Du müsstest noch die Blattnamen anpassen....
Option Explicit
Sub kopieren()
Dim i As Integer
Dim j As Integer
Dim zeile As Integer
Dim spalte As Integer
zeile = 1
' Daten einfügen
For i = 1 To 100
j = j + 1
If j = 5 Then
j = 1
zeile = zeile + 1
spalte = 0
End If
spalte = spalte + 1
Sheets("Tabelle2").Cells(zeile, spalte) = Sheets("Tabelle1").Cells(1, i)
Next i
' Spaltengröße anpassen
Columns("A:A").EntireColumn.AutoFit
Columns("B:B").EntireColumn.AutoFit
Columns("C:C").EntireColumn.AutoFit
Columns("D:D").EntireColumn.AutoFit
' Druckbereich auf 1 Seite
ActiveSheet.VPageBreaks(1).DragOff Direction:=xlToRight, RegionIndex:=1
End Sub

Gruß
marcl
Anzeige
Zellen auf eine Seite an versch. Stellen ausdruck
18.04.2012 17:49:37
Stef@n
Danke Marcl
funzt - Danke Dir sehr !
.... aber jetzt sind die Ideen noch kreativer geworden ;)
In der Anlage habe ich eine Datei, die das verdeutlicht .
Es gibt ein Übersichtsblatt (TAB DinA4), in dem die Inhalte aus der Tab Quelle
eingefügt werden sollen.
Ich habe jetzt per Makrorekorder die erste Zeile der Quell-Tab in das Sheet eingefügt.
Das soll jetzt für alle Zeilen der Quell-Tab erfolgen.
Also: erst Zeile 1 einfügen, dann ausdrucken, dann Zeile 2 einfügen ausdrucken usw
Wie kann ich den per Makrorekorder ausgezeichneten Code so anpassen,
dass er das einfügt - ausdruckt - wartet bis der Ausdruck fertig ist, dann die nächste Zeile usw
Meine VBA Kenntnisse sind (noch ;) ) nicht so brilliant
aber ich lerne gern dazu
hier die Datei
https://www.herber.de/bbs/user/79855.xls
Freu mich auf einen Tip :)
Gruß
Stef@n
Anzeige
AW: Zellen auf eine Seite an versch. Stellen ausdruck
19.04.2012 06:25:24
marcl
Guten Morgen,
ich kann leider keine Dateien herunterladen. Sicherheitseinstellungen....
Aber Du kannst Dir ein Makro zum Drucken aufzeichnen. Das dann an die richtige Stelle (in einer Schleife) einfügen und schon passt es.
In meinem Beispiel müsste das in die If Bedingung. Ich lasse 4 Spalten nebeneinander auflisten. Wenn j also 5 ist, ist eine Zeile voll. Hier müsste dann die Druckaufforderung mit rein. Wartezeit benötigt man nciht. Wird ja alles im Druckauftrag abgelegt und nacheinander ausgedruckt. Oder wolltest Du immer nur 1 Zeile auf dem Druck haben?
Gruß
marcl
AW: Zellen auf eine Seite an versch. Stellen ausdruck
19.04.2012 06:47:05
Stef@n
Moin Marcl,
vielen Dank ! Ich krieg das mit der Schleife nur nicht hin
Ich habe ein Marko aufgezeichnet , der von dem Quell-Tab die Werte für die erste Zeile (Zeile 4)
in das Tab DinA4 kopiert
In dem Tab Quelle sind in der 3. Zeile die Überschriften
und im Bereich A4:AI12 Testdaten
Im Tab DinA4 sind an verschiedenen Stellen die Quell-Inhalte aus jeweils einzelner Zeile
zu kopieren.
Ich hoffe, ich konnte mich verständlich ausdrücken ;)
Schön, wenn Du nochmal helfen kannst
Gruß
Stef@n
Hier der Code
Sub Makro1()
' Makro1 Makro
' Makro am 18.04.2012 aufgezeichnet
ActiveCell.FormulaR1C1 = "=+Quelle!R[3]C"
Range("C1").Select
ActiveCell.FormulaR1C1 = "=+Quelle!R[3]C[4]"
Range("E1:G2").Select
ActiveCell.FormulaR1C1 = "=+Quelle!R[3]C[3]"
Range("I1").Select
ActiveCell.FormulaR1C1 = "=+Quelle!R[3]C[-6]"
Range("K1").Select
ActiveCell.FormulaR1C1 = "=+Quelle!R[3]C[15]"
Range("I2").Select
ActiveCell.FormulaR1C1 = "=+Quelle!R[2]C[21]"
Range("K2").Select
ActiveCell.FormulaR1C1 = "=+Quelle!R[2]C[22]"
Range("A3:E3").Select
ActiveCell.FormulaR1C1 = "=+Quelle!R[1]C[8]"
Range("G3:K3").Select
ActiveCell.FormulaR1C1 = "=+Quelle!R[1]C[3]"
Range("A5:K5").Select
ActiveCell.FormulaR1C1 = "=+Quelle!R[-1]C[18]"
Range("A6").Select
ActiveWindow.SmallScroll Down:=3
ActiveCell.FormulaR1C1 = "=+Quelle!R[-2]C[10]"
Range("C6").Select
ActiveCell.FormulaR1C1 = "=+Quelle!R[-2]C[10]"
Range("E6:E7").Select
ActiveCell.FormulaR1C1 = "=+Quelle!R[-2]C[10]"
Range("G6").Select
ActiveCell.FormulaR1C1 = "=+Quelle!R[-2]C[24]"
Range("I6:I7").Select
ActiveCell.FormulaR1C1 = "=+Quelle!R[-2]C[8]"
Range("K6").Select
ActiveCell.FormulaR1C1 = "=+Quelle!R[-2]C[23]"
Range("A7").Select
ActiveCell.FormulaR1C1 = "=+Quelle!R[-3]C[11]"
Range("C7").Select
ActiveCell.FormulaR1C1 = "=+Quelle!R[-3]C[11]"
Range("G7").Select
ActiveCell.FormulaR1C1 = "=+Quelle!R[-3]C[9]"
Range("K7").Select
ActiveCell.FormulaR1C1 = "=+Quelle!R[-3]C[24]"
Range("A8").Select
ActiveCell.FormulaR1C1 = "=+Quelle!R[-4]C[20]"
Range("C8").Select
ActiveCell.FormulaR1C1 = "=+Quelle!R[-4]C[19]"
Range("E8").Select
ActiveCell.FormulaR1C1 = "=+Quelle!R[-4]C[18]"
Range("G8").Select
ActiveCell.FormulaR1C1 = "=+Quelle!R[-4]C[17]"
Range("I8:K8").Select
ActiveCell.FormulaR1C1 = "=+Quelle!R[-4]C[9]"
Range("C9").Select
ActiveCell.FormulaR1C1 = "=+Quelle!R[-5]C[24]"
Range("E9").Select
ActiveCell.FormulaR1C1 = "=+Quelle!R[-5]C[23]"
Range("G9").Select
ActiveCell.FormulaR1C1 = "=+Quelle!R[-5]C[22]"
Range("G10").Select
End Sub

Anzeige
AW: Zellen auf eine Seite an versch. Stellen ausdruck
19.04.2012 19:21:01
Jens
Hallo
Versuch mal folgendden Code:
Sub tt()
Dim LoQuelle As Long
For LoQuelle = 4 To Worksheets("Quelle").Range("A65536").End(xlUp).Row
With Worksheets("DinA4")
.Cells(1, 3) = Worksheets("quelle").Cells(LoQuelle, 7)
.Cells(1, 5) = Worksheets("quelle").Cells(LoQuelle, 8)
.Cells(1, 9) = Worksheets("quelle").Cells(LoQuelle, 3)
.Cells(2, 9) = Worksheets("quelle").Cells(LoQuelle, 30)
.Cells(1, 11) = Worksheets("quelle").Cells(LoQuelle, 26)
.Cells(2, 11) = Worksheets("quelle").Cells(LoQuelle, 33)
.Cells(3, 7) = Worksheets("quelle").Cells(LoQuelle, 10)
.Cells(3, 1) = Worksheets("quelle").Cells(LoQuelle, 9)
.Cells(5, 1) = Worksheets("quelle").Cells(LoQuelle, 19)
.Cells(6, 1) = Worksheets("quelle").Cells(LoQuelle, 11)
.Cells(7, 1) = Worksheets("quelle").Cells(LoQuelle, 12)
.Cells(8, 1) = Worksheets("quelle").Cells(LoQuelle, 21)
.Cells(6, 3) = Worksheets("quelle").Cells(LoQuelle, 13)
.Cells(7, 3) = Worksheets("quelle").Cells(LoQuelle, 14)
.Cells(8, 3) = Worksheets("quelle").Cells(LoQuelle, 22)
.Cells(9, 3) = Worksheets("quelle").Cells(LoQuelle, 27)
.Cells(6, 5) = Worksheets("quelle").Cells(LoQuelle, 15)
.Cells(8, 5) = Worksheets("quelle").Cells(LoQuelle, 23)
.Cells(9, 5) = Worksheets("quelle").Cells(LoQuelle, 28)
.Cells(6, 7) = Worksheets("quelle").Cells(LoQuelle, 31)
.Cells(7, 7) = Worksheets("quelle").Cells(LoQuelle, 16)
.Cells(8, 7) = Worksheets("quelle").Cells(LoQuelle, 24)
.Cells(9, 7) = Worksheets("quelle").Cells(LoQuelle, 29)
.Cells(6, 9) = Worksheets("quelle").Cells(LoQuelle, 17)
.Cells(8, 9) = Worksheets("quelle").Cells(LoQuelle, 18)
.Cells(6, 11) = Worksheets("quelle").Cells(LoQuelle, 34)
.Cells(7, 11) = Worksheets("quelle").Cells(LoQuelle, 35)
End With
Worksheets("DinA4").PrintOut
Next
End Sub
Gruß Jens
Anzeige
AW: Zellen auf eine Seite an versch. Stellen ausdruck
19.04.2012 21:07:06
Stef@n
Hallo Jens
das imponiert mir ! Klasse Ergebnis - funktioniert einwandfrei :)))
Ich denke, daß die meinen Upload genutzt hast ... deshalb (ich hoffe, dass ist OK ?!)
doch noch eine Idee, die das Ganze absolut abrunden würde ;)
In den dunkelgrau markierten Zellen steht ja immer die entsprechende Spalte,
aus der der Inhalt "genommen" werden soll.
Könnte man den Code so anpassen, dass, wenn ich in den dunkelgrau markierten
Zellen die Quell-Spalte änder, automatisch der Code die Quell-Zellen-Inhalte anpasst ?
Jetzt geht gerad meine Kreativität mit mir durch:
In der 3. Zeile ist ja immer die Überschrift angegeben (in meinem Beispiel halt nur die Buchstaben)
Könnte man - und das würde der Übersichtlichkeit dienen, bei jedem Datensatz in dem Tab DinA4
zusätzlich diesen Text als Überschrift generell mit andrucken würde
Also im Tab DinA4 immer die Überschrift der Zeile - und dann der Zellinhalte aus Quelle.
Ich hoffe, jetzt nicht gewisse Grenzen zu überschreiten ;)
Freu mich sehr auf einen Tip .. von DIR
Besten Gruß
Stef@n
Anzeige
AW: Zellen auf eine Seite an versch. Stellen ausdruck
20.04.2012 16:28:00
Jens
Hallo Stef@n
Versuch mal:
Sub tt()
Dim LoQuelle As Long
For LoQuelle = 4 To Worksheets("Quelle").Range("A65536").End(xlUp).Row
On Error Resume Next
With Worksheets("DinA4")
.Cells(1, 1) = Worksheets("quelle").Range(.Cells(1, 2) & 3) & ": " & Worksheets("quelle").Range( _
.Cells(1, 2) & LoQuelle)
.Cells(1, 3) = Worksheets("quelle").Range(.Cells(1, 4) & 3) & ": " & Worksheets("quelle").Range( _
.Cells(1, 4) & LoQuelle)
.Cells(1, 5) = Worksheets("quelle").Range(.Cells(1, 8) & 3) & ": " & Worksheets("quelle").Range( _
.Cells(1, 8) & LoQuelle)
.Cells(1, 9) = Worksheets("quelle").Range(.Cells(1, 10) & 3) & ": " & Worksheets("quelle"). _
Range(.Cells(1, 10) & LoQuelle)
.Cells(1, 11) = Worksheets("quelle").Range(.Cells(1, 12) & 3) & ": " & Worksheets("quelle"). _
Range(.Cells(1, 12) & LoQuelle)
.Cells(2, 9) = Worksheets("quelle").Range(.Cells(2, 10) & 3) & ": " & Worksheets("quelle"). _
Range(.Cells(2, 10) & LoQuelle)
.Cells(2, 11) = Worksheets("quelle").Range(.Cells(2, 12) & 3) & ": " & Worksheets("quelle"). _
Range(.Cells(2, 12) & LoQuelle)
.Cells(3, 1) = Worksheets("quelle").Range(.Cells(3, 6) & 3) & ": " & Worksheets("quelle").Range( _
.Cells(3, 6) & LoQuelle)
.Cells(3, 7) = Worksheets("quelle").Range(.Cells(3, 12) & 3) & ": " & Worksheets("quelle"). _
Range(.Cells(3, 12) & LoQuelle)
.Cells(4, 1) = Worksheets("quelle").Range(.Cells(4, 6) & 3) & ": " & Worksheets("quelle").Range( _
.Cells(4, 6) & LoQuelle)
.Cells(4, 7) = Worksheets("quelle").Range(.Cells(4, 12) & 3) & ": " & Worksheets("quelle"). _
Range(.Cells(4, 12) & LoQuelle)
.Cells(5, 1) = Worksheets("quelle").Range(.Cells(5, 12) & 3) & ": " & Worksheets("quelle"). _
Range(.Cells(5, 12) & LoQuelle)
.Cells(6, 1) = Worksheets("quelle").Range(.Cells(6, 2) & 3) & ": " & Worksheets("quelle").Range( _
.Cells(6, 2) & LoQuelle)
.Cells(6, 3) = Worksheets("quelle").Range(.Cells(6, 4) & 3) & ": " & Worksheets("quelle").Range( _
.Cells(6, 4) & LoQuelle)
.Cells(6, 5) = Worksheets("quelle").Range(.Cells(6, 6) & 3) & ": " & Worksheets("quelle").Range( _
.Cells(6, 6) & LoQuelle)
.Cells(6, 7) = Worksheets("quelle").Range(.Cells(6, 8) & 3) & ": " & Worksheets("quelle").Range( _
.Cells(6, 8) & LoQuelle)
.Cells(6, 9) = Worksheets("quelle").Range(.Cells(6, 10) & 3) & ": " & Worksheets("quelle"). _
Range(.Cells(6, 10) & LoQuelle)
.Cells(6, 11) = Worksheets("quelle").Range(.Cells(6, 12) & 3) & ": " & Worksheets("quelle"). _
Range(.Cells(6, 12) & LoQuelle)
.Cells(7, 1) = Worksheets("quelle").Range(.Cells(7, 2) & 3) & ": " & Worksheets("quelle").Range( _
.Cells(7, 2) & LoQuelle)
.Cells(7, 3) = Worksheets("quelle").Range(.Cells(7, 4) & 3) & ": " & Worksheets("quelle").Range( _
.Cells(7, 4) & LoQuelle)
.Cells(7, 7) = Worksheets("quelle").Range(.Cells(7, 8) & 3) & ": " & Worksheets("quelle").Range( _
.Cells(7, 8) & LoQuelle)
.Cells(7, 11) = Worksheets("quelle").Range(.Cells(7, 12) & 3) & ": " & Worksheets("quelle"). _
Range(.Cells(7, 12) & LoQuelle)
.Cells(8, 1) = Worksheets("quelle").Range(.Cells(8, 2) & 3) & ": " & Worksheets("quelle").Range( _
.Cells(8, 2) & LoQuelle)
.Cells(8, 3) = Worksheets("quelle").Range(.Cells(8, 4) & 3) & ": " & Worksheets("quelle").Range( _
.Cells(8, 4) & LoQuelle)
.Cells(8, 5) = Worksheets("quelle").Range(.Cells(8, 6) & 3) & ": " & Worksheets("quelle").Range( _
.Cells(8, 6) & LoQuelle)
.Cells(8, 7) = Worksheets("quelle").Range(.Cells(8, 8) & 3) & ": " & Worksheets("quelle").Range( _
.Cells(8, 8) & LoQuelle)
.Cells(8, 9) = Worksheets("quelle").Range(.Cells(8, 12) & 3) & ": " & Worksheets("quelle"). _
Range(.Cells(8, 12) & LoQuelle)
.Cells(9, 1) = Worksheets("quelle").Range(.Cells(9, 2) & 3) & ": " & Worksheets("quelle").Range( _
.Cells(9, 2) & LoQuelle)
.Cells(9, 3) = Worksheets("quelle").Range(.Cells(9, 4) & 3) & ": " & Worksheets("quelle").Range( _
.Cells(9, 4) & LoQuelle)
.Cells(9, 5) = Worksheets("quelle").Range(.Cells(9, 6) & 3) & ": " & Worksheets("quelle").Range( _
.Cells(9, 6) & LoQuelle)
.Cells(9, 7) = Worksheets("quelle").Range(.Cells(9, 8) & 3) & ": " & Worksheets("quelle").Range( _
.Cells(9, 8) & LoQuelle)
.Cells(9, 9) = Worksheets("quelle").Range(.Cells(9, 12) & 3) & ": " & Worksheets("quelle"). _
Range(.Cells(9, 12) & LoQuelle)
End With
Worksheets("DinA4").PrintOut
Next
End Sub
Gruß Jens
Anzeige
AW: Zellen auf eine Seite an versch. Stellen ausdruck
24.04.2012 17:22:18
Stef@n
Hallo Jens
Danke Dir sehr für die perfekte Lösung !
Funktioniert einwandfrei ! Bin imponiert !
Und ich merke - ich lerne viel dazu !
Sorry für die verspätete Rückmeldung - hab keine email-Benachrichtigung erhalten (nicht eingestellt)
Mit bestem Gruß
Stef@n
ps: das nächste Mal bin ich schneller :)
AW: Danke ...
24.04.2012 17:48:41
Jens
... für die Rückmeldung :o)
Gruß Jens
AW: Zellen auf eine Seite an versch. Stellen ausdruck
19.04.2012 06:49:02
Stef@n
Oder kann ich Dir die Datei per Mail schicken ?
heut leider wenig Zeit
19.04.2012 08:08:56
marcl
geht leider zur Zeit nicht. Habe heut viel zu schaffen. Werde mir das heut Abend noch mal anschauen. Vielleicht kann aber zwischenzeitlich anderer freundlicher Ex(cel)perte helfen .....
Gruß
marcl
Anzeige
AW: heut leider wenig Zeit
20.04.2012 07:10:18
marcl
Guten Morgen,
hier der Code.
Cells(i, ) Hinter dem , muss jeweils die Spaltennummer eingetragen werden, aus der die Daten aus dem Quellblatt gelesen werden. Wenn man in den Optionen Z1S1 Bezugsart einstellt, werden auch die Buchstaben in Zahlen angezeigt :-)
Sub Makro1()
Sheets("Quelle").Select
Const zeilenanzahl = ActiveSheet.UsedRange.Rows.Count
Dim i As Long
For i = 4 To zeilenanzahl
' Cells(Zeile, Spalte)
If Cells(i, 1)  "" Then
Sheets("DinA4").Cells(1, 3) = Sheets("Quelle").Cells(i, )
Sheets("DinA4").Cells(1, 5) = Sheets("Quelle").Cells(i,)
Sheets("DinA4").Cells(1, 9) = Sheets("Quelle").Cells(i, )
Sheets("DinA4").Cells(1, 11) = Sheets("Quelle").Cells(i,)
Sheets("DinA4").Cells(2, 9) = Sheets("Quelle").Cells(i, )
Sheets("DinA4").Cells(2, 11) = Sheets("Quelle").Cells(i, )
Sheets("DinA4").Cells(3, 1) = Sheets("Quelle").Cells(i, )
Sheets("DinA4").Cells(3, 7) = Sheets("Quelle").Cells(i, )
Sheets("DinA4").Cells(5, 1) = Sheets("Quelle").Cells(i, )
Sheets("DinA4").Cells(6, 1) = Sheets("Quelle").Cells(i, )
Sheets("DinA4").Cells(6, 3) = Sheets("Quelle").Cells(i, )
Sheets("DinA4").Cells(6, 5) = Sheets("Quelle").Cells(i, )
Sheets("DinA4").Cells(6, 7) = Sheets("Quelle").Cells(i, )
Sheets("DinA4").Cells(6, 9) = Sheets("Quelle").Cells(i, )
Sheets("DinA4").Cells(6, 11) = Sheets("Quelle").Cells(i, )
Sheets("DinA4").Cells(7, 1) = Sheets("Quelle").Cells(i, )
Sheets("DinA4").Cells(7, 3) = Sheets("Quelle").Cells(i, )
Sheets("DinA4").Cells(7, 7) = Sheets("Quelle").Cells(i, )
Sheets("DinA4").Cells(7, 11) = Sheets("Quelle").Cells(i, )
Sheets("DinA4").Cells(8, 1) = Sheets("Quelle").Cells(i, )
Sheets("DinA4").Cells(8, 3) = Sheets("Quelle").Cells(i, )
Sheets("DinA4").Cells(8, 5) = Sheets("Quelle").Cells(i, )
Sheets("DinA4").Cells(8, 7) = Sheets("Quelle").Cells(i, )
Sheets("DinA4").Cells(8, 9) = Sheets("Quelle").Cells(i, )
Sheets("DinA4").Cells(9, 3) = Sheets("Quelle").Cells(i, )
Sheets("DinA4").Cells(9, 5) = Sheets("Quelle").Cells(i, )
Sheets("DinA4").Cells(9, 7) = Sheets("Quelle").Cells(i, )
' Druckbereich auf 1 Seite
ActiveSheet.VPageBreaks(1).DragOff Direction:=xlToRight, RegionIndex:=1
End If
Next i
End Sub

Gruß
marcl
Anzeige
AW: heut leider wenig Zeit
24.04.2012 17:16:29
Stef@n
Hallo Macl,
allerbesten Dank für Deine Lösung !
jetzt so langsam kapiert ich das mit den cells
Sehr übersichtlicher Code - und nachvollziehbar
Danke auch Dir für die Lösung !
Mit besten (verspäteten) Dank
Stef@n

352 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige