EXCEL 2003 zwei Seiten auf ein Blatt

Hallo,

ich hab folgendes problem!
ich hab eine liste mit mehrern spalten…brauch allerdings nur drei ausgedruckt. Nun hab ich die andere schon ausgebledet…soweit kein problem…so nun mein eigentliches Problem:

wenn ich die liste nun so Ausdrucke, wird nur die Hälfte des Blattes verwendet…(die Rechte Seite ist frei), da es aber insgesamt so 173 Seiten sind würde ich ganz gern Seite 1 und 2 auf ein Blatt Drucken…am liebsten nebeneinander…ich meine das es da eine funktion gibst mit der es möglich ist, beide seiten auf ein blatt zu bekommen…vill kann mir ja einer helfen.

danke schonmal

ach…falls wichtig…windows xp / canon pixma ip 3000 / excel 2003

mfg Christian

wenn ich die liste nun so Ausdrucke, wird nur die Hälfte des
Blattes verwendet…(die Rechte Seite ist frei), da es aber
insgesamt so 173 Seiten sind würde ich ganz gern Seite 1 und 2
auf ein Blatt Drucken…am liebsten nebeneinander…ich meine
das es da eine funktion gibst mit der es möglich ist, beide
seiten auf ein blatt zu bekommen…vill kann mir ja einer
helfen.

Hi Christian,

gehe mal auf Seitenansicht und liste mal die jeweils unterste Zeilennummer pro Blatt auf, dies solange bis eine Gesetzmäßigkeit zu erkennen ist.
Wenn keine zu erkennen ist, liste mal zumindest die ersten 10 untersten Zeilen auf.

Existieren da feste Überschriftspalten die auf jedes Blatt oben hin sollen? Welche Zeilen.

Gibt es Kopf-/Fußzeilen?

Welche Spalten sollen gedruckt werden?

Mis schwebt eine Vba-Lösung vor, da brauchst du keine der anderen Spalten auszublenden. Wenn nötig macht das Vba selbst, aber wird nicht nötig sein.

Alternativ zum Ganzen kannst du auch in einer Kopie alle anderen Spalten löschen, die beiden Spalten anonymisieren und hochladen im nichtXL2007 Format, FAQ:2861 o.ä.

Gruß
Reinhard

Hallo,
danke für die schnelle antwort.

die jeweils untere zeile
66
131
196
261
326
…+65

2.Existieren da feste Überschriftspalten die auf jedes Blatt
oben hin sollen? Welche Zeilen.

ja, zeile 1 ist auch bereits so formatiert, dass sie beim drucken immer oben wiederholt wird.

3.Gibt es Kopf-/Fußzeilen?
kurz : nö :smile:

4.Welche Spalten sollen gedruckt werden?

die spalten D, G und M

mfg christian

die jeweils untere zeile
66
131
196
261
326
…+65
ja, zeile 1 ist auch bereits so formatiert, dass sie beim
drucken immer oben wiederholt wird.

die spalten D, G und M

Hi Christian,

Alt+F11, Einfügen—Modul, Code reinkopieren, die Anpassungen oben durchführen, Editor schließen.
Ausführen mit Alt+F8…

Hochkomma vor etwas bedeutet in Vba, das danach in der Zeile wird nicht ausgeführt.
Dadurch kannst du unten im Code selbst steuern ob das Blatt Druck nach dem Druck gelöscht wird oder nicht, ob überhaupt gedruckt wird oder nur die Seitenansicht kommt. Die Befehle erklären sich ja mit Minimalenglisch selbst.
.PrintPreview
'.printout
'Call Loesch
Genauso kannst du oben steuern ob das gerade aktive Blatt zweispaltig gedruckt wird oder ein bestimmtes:
Set wksQ = Worksheets(„Tabelle1“) ’ Anpassen
'Set wksQ = ActiveSheet ’ Anpassen
Eine Macke ist noch drin auf der letzten Druckseite, da muß noch was gelöscht werden.
Ggfs muß noch die Spaltenbreiete im Ausdruck angepasst werden,
Teste halt mal gründlich mittels Seitenansicht.
Um später wieder zum Code zu gelangen, Alt+F8 und da irgnedwo bearbeiten auswählen.

Gruß
Reinhard

Option Explicit
'
Sub Druck()
Dim Zei As Long, wksQ As Worksheet
Const Letzte As Byte = 66 ' Anpassen
Const Trennbreite = 10 ' Anpassen der Breite von Spalte K
Set wksQ = Worksheets("Tabelle1") ' Anpassen
'Set wksQ = ActiveSheet ' Anpassen
Zei = wksQ.Cells(Rows.Count, 4).End(xlUp).Row
Call Loesch
With Worksheets("Druck")
 .PageSetup.PrintTitleRows = "$1:blush:1"
 wksQ.Range("D1:M1" & Zei).Copy Destination:=.Range("L1")
 wksQ.Range("D1:M" & Zei).Copy Destination:=.Range("A1")
 .Columns("B:C").Hidden = True
 .Columns("E:I").Hidden = True
 wksQ.Range("D" & Letzte + 1 & ":M" & Zei).Copy Destination:=.Range("L2")
 .Columns("M:N").Hidden = True
 .Columns("P:T").Hidden = True
 Zei = Letzte + 1
 .Range("K1").ColumnWidth = Trennbreite
' .UsedRange.Font.Size = 8
' .UsedRange.RowHeight = 10.8
 While .Cells(Zei, 1) ""
 Rows(Zei & ":" & Zei + Letzte - 2).Delete
 Zei = Zei + Letzte - 1
 Wend
 .PrintPreview
 '.printout
 'Call Loesch
End With
End Sub
'
Sub Loesch()
' löscht das Blatt Druck
On Error Resume Next
Application.DisplayAlerts = False
Worksheets("Druck").Delete
Application.DisplayAlerts = True
On Error GoTo 0
Worksheets.Add
ActiveSheet.Name = "Druck"
End Sub

Gruß
Reinhard

1 „Gefällt mir“

Hallo,

danke für die hilfe…allerdings ist im modul noch nen kleiner fehler, es läuft nich ganz duch.

Fehlermeldung:
Laufzeitfehler 1004:
Die Methode ‚Range‘ für das Objekt ‚_Worksheet‘ ist fehlgeschlagen!

Und so sieht der code im Moment aus. muste den namen der Tabelle bzw. des Blattes ändern.

Option Explicit

Sub Druck()
Dim Zei As Long, wksQ As Worksheet
Const Letzte As Byte = 66 ’ Anpassen
Const Trennbreite = 10 ’ Anpassen der Breite von Spalte K
Set wksQ = Worksheets(„OS-AktWo“) ’ Anpassen
'Set wksQ = ActiveSheet ’ Anpassen
Zei = wksQ.Cells(Rows.Count, 4).End(xlUp).Row
Call Loesch
With Worksheets(„Druck“)
.PageSetup.PrintTitleRows = „$1:blush:1“
wksQ.Range(„D1:M1“ & Zei).Copy Destination:=.Range(„L1“)
wksQ.Range(„D1:M“ & Zei).Copy Destination:=.Range(„A1“)
.Columns(„B:C“).Hidden = True
.Columns(„E:I“).Hidden = True
wksQ.Range(„D“ & Letzte + 1 & „:M“ & Zei).Copy Destination:=.Range(„L2“)
.Columns(„M:N“).Hidden = True
.Columns(„P:T“).Hidden = True
Zei = Letzte + 1
.Range(„K1“).ColumnWidth = Trennbreite
’ .UsedRange.Font.Size = 8
’ .UsedRange.RowHeight = 10.8
While .Cells(Zei, 1) „“
Rows(Zei & „:“ & Zei + Letzte - 2).Delete
Zei = Zei + Letzte - 1
Wend
.PrintPreview
'.printout
'Call Loesch
End With
End Sub

Sub Loesch()
’ löscht das Blatt Druck
On Error Resume Next
Application.DisplayAlerts = False
Worksheets(„Druck“).Delete
Application.DisplayAlerts = True
On Error GoTo 0
Worksheets.Add
ActiveSheet.Name = „Druck“
End Sub

mfg Christian

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi Christian,

die Datei: http://www.hostarea.de/server-12/Dezember-9ec84c1dfb…

hat nachfolgenden Code. Getestet mit XL2000.

Gruß
Reinhard

Option Explicit
'
Sub Druck()
Dim Zei As Long, wksQ As Worksheet
Const Letzte As Byte = 66 ' Anpassen
Const Trennbreite = 10 ' Anpassen der Breite von Spalte N
Set wksQ = Worksheets("OS-AktWo") ' Anpassen
'Set wksQ = ActiveSheet ' Anpassen
Zei = wksQ.Cells(Rows.Count, 4).End(xlUp).Row
Call Loesch
With Worksheets("Druck")
 .PageSetup.PrintTitleRows = "$1:blush:1"
 wksQ.Range("D1:M" & Zei).Copy Destination:=.Range("A1")
 wksQ.Range("D1:M1").Copy Destination:=.Range("O1") ' zweite Überschrift
 .Columns("B:C").Hidden = True
 .Columns("E:I").Hidden = True
 wksQ.Range("D" & Letzte + 1 & ":M" & Zei).Copy Destination:=.Range("O2")
 .Columns("K:N").Hidden = True
 .Columns("P:Q").Hidden = True
 .Columns("S:W").Hidden = True
 Zei = Letzte + 1
 .Range("N1").ColumnWidth = Trennbreite
 .Cells.Font.Name = "Arial" ' kann ggfs. entfallen
 .UsedRange.Font.Size = 8 ' kann ggfs. entfallen
 .UsedRange.RowHeight = 10.8 ' kann ggfs. entfallen
 While .Cells(Zei, 1) ""
 Rows(Zei & ":" & Zei + Letzte - 2).Delete
 Zei = Zei + Letzte - 1
 Wend
 .PrintPreview
 '.printout
 'Call Loesch
End With
End Sub
'
Sub Loesch()
' löscht das Blatt Druck
On Error Resume Next
Application.DisplayAlerts = False
Worksheets("Druck").Delete
Application.DisplayAlerts = True
On Error GoTo 0
Worksheets.Add
ActiveSheet.Name = "Druck"
End Sub

Hey, Danke…hat nun geklappt!!! Vielen Dank!!!