Druckrange ermitteln

Bild

Betrifft: Druckrange ermitteln von: Erich M.
Geschrieben am: 27.03.2005 17:41:21

Hallo EXCEL-Freunde,

möchte eine Druckrange automatisch ermitteln. Eine Codezeile kann ich nicht
richtig einstellen:


Sub aDruckrange3()
    Dim LoErste As Long   ' erste Zeile zum drucken
    Dim Spletzte As Integer  ' letzte spalte zum drucken
    Dim Zeletzte As Integer  ' letzte Zeile zum drucken
    Dim i As Long
    LoErste = 5
    i = 1
    Spletzte = Cells(i, 255).End(xlToLeft).Column
    Zeletzte = [B65536].End(xlUp).Row
    
    ''##'' wie muss diese Zeile lauten??
    ' hier kommt Typen unverträglich; die Zeilen / Spalten würden stimmen
    Cells(("A" & LoErste), 1)(Zeletzte, Spletzte).Select
    Selection.PrintOut Copies:=1, Preview:=True
End Sub


Besten Dank für eine Hilfe!

mfg
Erich
http://www.toolex.de
Bild


Betrifft: AW: Druckrange ermitteln von: Hajo_Zi
Geschrieben am: 27.03.2005 17:50:47

Hallo Erich,

ich vermute mal Du willst einen Druckbereich festlegen

ActiveSheet.PageSetup.PrintArea = "$A$1:$I$69"

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.




Bild


Betrifft: AW: Druckrange ermitteln von: Erich M.
Geschrieben am: 27.03.2005 18:03:24

Hallo Hajo,

zuerst möchte ich den Druckbereich in der Vorschau anzeigen lassen; deshalb:
Selection.PrintOut Copies:=1, Preview:=True
Dabei soll immer der Bereich variabel ermittelt werden, je nachdem wieviele
Zeilen und Spalten belegt sind. Aber den "Select"-Bereich kriege ich nicht hin.

mfg
Erich
http://www.toolex.de


Bild


Betrifft: AW: Druckrange ermitteln von: Hajo_Zi
Geschrieben am: 27.03.2005 18:07:00

Hallo Erich,

select ist in VBA zu 99% nicht notwendig. Lege den Druckbereich fest und mache dann die Vorschau.
Ich bin der Auffassung ein wenig eigen Initiative muss nun auch schon sein.

Gruß Hajo

Das Forum lebt auch von den Rückmeldungen.


Bild


Betrifft: AW: Druckrange ermitteln von: Erich M.
Geschrieben am: 27.03.2005 20:44:30

Hallo Hajo,

mit Eigeninitiative habe ich den Code ja soweit erstellt - siehe erster Beitrag:
es geht nur um die eine Zeile die nicht funktinoiert!!

mfg
Erich
http://www.toolex.de


Bild


Betrifft: AW: Druckrange ermitteln von: Bert
Geschrieben am: 27.03.2005 20:30:48

Hi,
Sub Frohe_Ostern()
With ActiveSheet
  .PageSetup.PrintArea = Selection.Address
  .PrintPreview
End With
End Sub


Gruß Bert


Bild


Betrifft: AW: Druckrange ermitteln von: Erich M.
Geschrieben am: 27.03.2005 20:47:02

Hallo Bert,

besten Dank; aber mir geht es gar nicht um den Druck, sondern um die Zeile,
mit der der Druckbereich ausgewählt wird:
''##'' wie muss diese Zeile lauten??
' hier kommt Typen unverträglich; die Zeilen / Spalten würden stimmen

Cells(("A" & LoErste), 1)(Zeletzte, Spletzte).Select

Siehe erster Beitrag; weder mit Range noch mit Cells schaffe ich den Bereich
zu selektieren.

Besten Dank nochmal!

mfg
Erich
http://www.toolex.de


Bild


Betrifft: AW: Druckrange ermitteln von: Beate Schmitz
Geschrieben am: 27.03.2005 21:08:56

Hallo Erich,

hier eine Möglichkeit, den Druckbereich über Namensdefinition bezüglich Spalten und Zeilen zu dynamisieren:

http://www.excel-center.de/forum/read.php?f=1&i=67032&t=67025#reply_67032

Gruß,
Beate


Bild


Betrifft: AW: Druckrange ermitteln von: Erich M.
Geschrieben am: 27.03.2005 22:00:24

Hallo Beate,

danke. Aber bei UsedRange meine ich, dass auch Zellen als belegt gelten, wenn diese ohne Inhalt
sind aber evtl. mit Formatierungen belegt sind.
Insofern erreiche ich über meine "Bereichsdefintion" nur die Zellen die auch beschrieben
sind. Allerdings komme ich einfach nicht drauf, diesen Zellbereich zu selektieren.

mfg
Erich
http://www.toolex.de


Bild


Betrifft: AW: Druckrange ermitteln von: Josef Ehrensberger
Geschrieben am: 27.03.2005 22:15:42

Hallo Erich!

Probier's mal so, ohne Select.


Sub aDruckrange3()
Dim LoErste As Long   ' erste Zeile zum drucken
Dim Spletzte As Integer  ' letzte spalte zum drucken
Dim Zeletzte As Integer  ' letzte Zeile zum drucken
Dim i As Long
LoErste = 5
i = 1
Spletzte = Cells(i, 255).End(xlToLeft).Column
Zeletzte = [B65536].End(xlUp).Row
    
   With ActiveSheet
      .PageSetup.PrintArea = Range(Cells(LoErste, 1), _
                           Cells(Zeletzte, Spletzte)).Address
      .PrintOut Copies:=1, Preview:=True
      .PageSetup.PrintArea = ""
   End With
End Sub



Gruß Sepp

P.S.: Rückmeldung nicht vergessen!




Bild


Betrifft: AW: Druckrange ermitteln von: Erich M.
Geschrieben am: 27.03.2005 22:31:58

Hallo Sepp,

danke funktioniert. Noch eine Frage:
derzeit habe ich die Zeile 1 (i=1) als Zeile eingestellt, die die meisten Spalten hat.
Gibts auch ne Möglichkeit, dies variabel zu lassen?
Wenn z.B. die Zeile 25 oder 325 die mit den meisten belegten Spalten ist?

Besten Dank nochmal!

mfg
Erich
http://www.toolex.de


Bild


Betrifft: AW: Druckrange ermitteln von: Josef Ehrensberger
Geschrieben am: 27.03.2005 22:51:29

Hallo Erich!

Das geht z.b. so.

Sub aDruckrange3()
Dim LoErste As Long   ' erste Zeile zum drucken
Dim Spletzte As Integer  ' letzte spalte zum drucken
Dim Zeletzte As Long  ' letzte Zeile zum drucken
Dim i As Long
Dim tmp() As Variant
LoErste = 5
Zeletzte = [B65536].End(xlUp).Row
   For i = LoErste To Zeletzte
      ReDim Preserve tmp(i - LoErste)
      tmp(i - LoErste) = Cells(i, 255).End(xlToLeft).Column
   Next
Spletzte = Application.Max(tmp)
   With ActiveSheet
      .PageSetup.PrintArea = Range(Cells(LoErste, 1), _
                           Cells(Zeletzte, Spletzte)).Address
      .PrintOut Copies:=1, Preview:=True
      .PageSetup.PrintArea = ""
   End With
End Sub



Gruß Sepp

P.S.: Rückmeldung nicht vergessen!




Bild


Betrifft: Danke Sepp - Perfekt!! von: Erich M.
Geschrieben am: 28.03.2005 08:06:41



mfg
Erich
http://www.toolex.de


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Druckrange ermitteln"