Seitendruck automatisch auswerten
#1
Hallo Excel Freunde, kann mir jemand beim dem Problem helfen?
Ich kommen nicht drauf wo der Hase begraben ist.
Super wäre es mit Erklärung damit ich nicht dumm sterbe. :19:

Aufgabe:
Wenn in Zelle Q136 nichts steht dann blende Zeilen 136-400 aus und nach dem drucken wieder ein.
ODER:
Wenn in Zelle Q67 nichts steht dann blende Zeilen 67-400 aus und nach dem drucken wieder ein.

Hier mein Makro
____________________________________________________________________________

Code:
Sub MakroDruck()
'
' Makro1 Makro
' Drucken
'
' Tastenkombination: Strg+y
'
   
    Selection.Copy
        Sheets("DATEN").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        Sheets("DRUCK").Select
    If Cells(136, 17) = "" Then
        Rows("136:400").Hidden = True
        Else
        Rows("136:400").Hidden = False
End If
    If Cells(67, 17) = "" Then
        Rows("67:400").Hidden = True
        Else
        Rows("67:400").Hidden = False
End If
        Range("F8:G8").Select
        ActiveCell.Value = ActiveCell.Value + 1
        ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
        Application.Dialogs(xlDialogSaveAs).Show Range("D8").Value & " " & Range("F8").Value & " AB " & Range("Q4").Value
        Rows("1:400").Select
        Selection.EntireRow.Hidden = False
    Sheets("DATEN").Select
        Rows("2:18").Select
        Range("D2").Activate
        Selection.ClearContents
        Rows("2:2").Select
        Range("D2").Activate
        Sheets("AUFTRÄGE").Select
    If Selection.Columns.Count = Columns.Count Then
        Selection.Columns("F").Value = "G"
        Selection.Copy
End If
        ChDir "Z:\JUNKER GmbH 2019\Lieferscheine 2019"
        ActiveWorkbook.SaveAs Filename:= _
        "Z:\JUNKER GmbH 2019\Lieferscheine 2019\WARENWIRTSCHAFT.xlsm", FileFormat:= _
        xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub
________________
__________________________________________________________________

Vielen Dank schon mal im voraus!
Top
#2
Ganz simpel so
Code:
Rows("136:400").Hidden = Range("Q136") = ""
Rows("67:400").Hidden = Range("Q67") = ""
Wobei sich das ja gegenseitig aufheben kann, da gleiche Zeilenzahl. Ist Q136 nicht leer, Q67 aber schon, wird 136:400 ja trotzdem ausgeblendet.
Schöne Grüße
Berni
[-] Folgende(r) 1 Nutzer sagt Danke an MisterBurns für diesen Beitrag:
  • DK84
Top
#3
Hallo,

der Code sollte mit dem Event "Before_print" gestartet werden.

mfg
[-] Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:
  • DK84
Top
#4
Ok, vielen Dank dafür. Ich werde es morgen ausprobieren.
Top
#5
Hallo, vielen Dank für dein Vorschlag. Wo genau muss den der Befehl hin?

Hallo, muss der Befehl nach dem  If Cells(136, 17) = "" Then stehen stehen?
Top
#6
Hallöchen,

Zitat:muss der Befehl nach dem If Cells(136, 17) = "" Then stehen stehen?

Welcher denn?


Die beiden Zeilen von Berni ersetzen Deine 8 Zeilen, jeweils von If Cells(…) bis End If
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#7
Lightbulb 
Ah, vielen Dank ich hab die Lösung.
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste