Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen

Druckbereich festlegen nach Kopie von Zellen

Betrifft: Druckbereich festlegen nach Kopie von Zellen von: Caroline
Geschrieben am: 12.08.2014 07:07:43

Hallo!

Ich versuche aus einer Berechnung für unterschiedlich viele Positionen einen Ausdruck, also eine Art Zusammenfassung über ein Makro zu drucken.

Das Kopieren der Zellen von der einen in die andere Tabelle funktioniert. In der Berechnungstabelle sind alle Felder mit einer 'Wenn'-Funktion belegt, die 0 oder "" ausgiebt, wenn nichts berechenbar ist. Die 0 wird durch benutzerdefinierte Zellenformatierung nicht angezeigt. Im Tabellenblatt, in das ich rein kopiere, wird mir auch nichts angezeigt, wenn nichts angezeigt werden soll, also alle Zellen sind leer, auch wenn ich sie als Zahlen formatiere (keine 0 wird eingetragen).

Soweit so gut, ich möchte nun aber nicht alle Zellen drucken, sondern nur die befüllten, damit es nicht immer 10 oder mehr Seiten sind. Genau das funktioniert jetzt aber nicht und ich finde den Fehler nicht. Ich habe auch den Rahmen um die Zellen gelöscht, das hatte keinen Effekt...
Was muss ich anders machen?

Liebe Grüße
Caro

Hier noch mein 'Versuch':

Worksheets("Berechnung").Range("A2:B300").Copy
Worksheets("Einzelausgabe").Range("A3:B301").PasteSpecial xlValues
Worksheets("Berechnung").Range("AB2:AE300").Copy
Worksheets("Einzelausgabe").Range("C3:F301").PasteSpecial xlValues

Worksheets("Einzelausgabe").Activate
ActiveSheet.PageSetup.PrintArea = "A1:F" & Range("F65536").End(xlUp).Row
ActiveSheet.PrintOut

  

Betrifft: AW: Druckbereich festlegen nach Kopie von Zellen von: fcs
Geschrieben am: 12.08.2014 12:26:53

Hallo Caro,

die Zellen, die im Berechnungsblatt als Formelergebnis "" haben sind nach dem Kopieren nicht wirklich leer. Im Hintergrund enthalten sie immer noch einen Leerstring. Deshalb musst du im Blatt "Einzelausgabe" vom Ende der Liste kommend prüfen bis eine Zelle mit Inhalt ungleich "" auftritt.

Gruß
Franz

Sub bbTest()
  Dim lastRow As Long
  Worksheets("Berechnung").Range("A2:B300").Copy
  Worksheets("Einzelausgabe").Range("A3:B301").PasteSpecial xlValues
  Worksheets("Berechnung").Range("AB2:AE300").Copy
  Worksheets("Einzelausgabe").Range("C3:F301").PasteSpecial xlValues
  
  Worksheets("Einzelausgabe").Activate
  lastRow = Range("F65536").End(xlUp).Row
  'in Spalte F prüfen, bis 1. Zelle <>"" kommt
  Do Until Cells(lastRow, 6) <> ""  'oder <> 0
    lastRow = lastRow - 1
  Loop
  ActiveSheet.PageSetup.PrintArea = "A1:F" & lastRow
  ActiveSheet.PrintOut Preview:=True
End Sub



  

Betrifft: AW: Druckbereich festlegen nach Kopie von Zellen von: Caroline
Geschrieben am: 13.08.2014 07:22:29

Hallo Franz,

vielen Dank für die Hilfe. Bei der Seitenvorschau hängt sich Excel komplett auf, aber ohne funktioniert es prima mit der 0 anstatt "". Da ich die Druckvorschau nicht benötige reicht das vollkommen aus. Danke noch mal!

Liebe Grüße
Caro


  

Betrifft: AW: Druckbereich festlegen nach Kopie von Zellen von: fcs
Geschrieben am: 13.08.2014 08:34:13

Hallo Caro,

die Seitenvorschau hatte ich noch zum Testen eingebaut.

Mit Seitenvorschau muss man vorher per

UserformXYZ.Hide

das Userform während der Seitenvorschau ausblenden.

Gruß
Franz


 

Beiträge aus den Excel-Beispielen zum Thema "Druckbereich festlegen nach Kopie von Zellen"