Yahoo Clever wird am 4. Mai 2021 (Eastern Time, Zeitzone US-Ostküste) eingestellt. Ab dem 20. April 2021 (Eastern Time) ist die Website von Yahoo Clever nur noch im reinen Lesemodus verfügbar. Andere Yahoo Produkte oder Dienste oder Ihr Yahoo Account sind von diesen Änderungen nicht betroffen. Auf dieser Hilfeseite finden Sie weitere Informationen zur Einstellung von Yahoo Clever und dazu, wie Sie Ihre Daten herunterladen.

Druckereinstellung in EXCEL...?

Ich möchte den Druck einer Exceltabelle so einstellen, das NUR die ausgefüllten Zeilen gedruckt werden ohne das ich irgendwas markieren oder ähnliches muss! Irgendwie geht das aber wie? Die Tabelle ist ca. 200 Zeilen lang, aber ich habe eben manchmal nur wenige Zeilen zu drucken!

3 Antworten

Bewertung
  • vor 10 Jahren
    Beste Antwort

    Indem es nachschaut TriPo2

    Die Lösung von Dagobert ist schon nicht schlecht. Sie funktioniert aber nur wenn in der ersten Spalte immer etwas steht.. Wenn die zweite Spalte besetzt und die erste nur manchmal dann funktioniert das nicht mehr. Hier mein Vorschlag. Hab leider kein Excel daher mu0t du u. U. einzelne Syntaxfehler korregieren.

    Option Explicit

    ' Koordinaten der Spalte bestimmen

    Public Function GetKoordString(x as Long. y as Long, Optional absolutx as Boolean = true, Optional absoluty as Boolean = true)

    As String

    Long l1

    Long l2

    Dim textcol as String

    Dim textrow as String

    l1 = x/26

    l2 = x - (l1*26)

    textcol = chr(65+l2)

    ' >Z dann weiter mit AA, AB, AC ...ZZ

    if (l1>0)

    textcol = chr(65+l2) + textcol

    textcol = trim(str(y))

    GetKoordString = textcol

    if (absolutx)

    GetKoordString = GetKoordString + "$"

    GetKoordString = textrow

    if (absoluty)

    GetKoordString = GetKoordString + "$"

    End Function

    Public Sub DruckeNichtLeere(Tabelle as String)

    Dim WS As Worksheet

    Dim n as Long

    Dim m as Long

    Dim mx as Long

    Dim my as Long

    Dim found as Boolean

    Dim savePrintArea as String

    found = true

    mx = 0

    my = 0

    n = 0

    WS = ThisWorkbook.Worksheets(Tabelle)

    do while (found)

    m = 0

    found = false

    For m = 0 To n

    ' Ist Spalte n Leer?

    if (not (IsEmpty(Cells(n, m)))

    found = true

    my = max(n, my)

    end if

    ' Ist Zeile n Leer?

    if (not (IsEmpty(Cells(m, n)))

    found = true

    mx = max(n, mx)

    end if

    Next

    n = n + 1

    Loop

    With Sheets(Tabelle)

    ' Printarea sichern

    savePrintArea = PageSetup.PrintArea

    'Druckbereich festlegen:

    .PageSetup.PrintArea = GetKoordString(1, 1) & ":" & GetKoordString(mx, my)

    'Drucken:

    .PrintOut

    'Druckbereich wiederherstellen:

    . PageSetup.PrintArea = savePrintArea

    End With

    End Sub

    Mit DruckeNichtLeere("Name der Tabelle") kannst du dann die Tabelle drucken.

    Die Routine schaut in einer Zeile 1... und Spalte A .... so lange nach bis nur noch leere Zellen gefunden werden. So ist sichergestellt das auch dann der Bereich gedruckt wird wenn mal eine Zelle leer ist.

    Einzige Ausnahme wenn alle Zellen einer Spalte und einer Zeile mit der gleichen Nummer (A=1, B=2 ... leer sind), dann wird dieser Bereich als Ende der Tabelle angesehen.

    Hab das Programm nicht getestet weil ich kein VBA hab. Kann also sein das du das eine oder andere noch korregieren mußt.

    Der Nachteil dieses Programms ist das die Suchgeschwindikeit mit dem Quadrat der Zellenzahl steigt.

    Wieviele Zeilen und Spalten die Tabelle hat spielt allerdings keine Rolle.

  • vor 10 Jahren

    Wie bereits gesagt, ohne „Einstellung“ geht das nicht. Aber Du kannst den Druckbereich festlegen:

    Markiere den Bereich, den Du drucken möchtest und dann:

    Datei/Druckbereich/Druckbereich festlegen

    oder Du kannst auch direkt zum Druckauftrag gehen:

    Datei/drucken/ Markierung anklicken

  • TriPo2
    Lv 7
    vor 1 Jahrzehnt

    Ohne Markierung kann das doch gar nicht funktionieren. Wenn die Tabelle 200 Zeilen lang ist und Du willst nur 10 Zeilen ausgedruckt bekommen - wie soll das Programm denn "wissen", dass Du nur 10 Zeilen ausgedruckt haben möchtest?

Haben Sie noch Fragen? Jetzt beantworten lassen.