Hallo Leute,
ich habe folgendes Problem. Ich habe eine Excel Tabelle aus einem SAP-Export. Etwas abgewandelt sieht diese so aus:
Mein Ziel ist es jetzt diese Tabelle zu drucken. Und dabei immer nach den ********* einen Seitenumbruch einfügen. Auf der neuen Seite soll der Tabellenkopf nochmal angezeigt werden.
Einen Lösungsansatz habe ich auch schon:
’ neues Tabellenblatt anlegen, benennen, nach hinten verschieben
Sheets.Add.Name = „Tabelle2“
Sheets(„Tabelle2“).Move After:=Sheets(2)
’ Inhalt vom ersten Tabellenblatt kopieren
Sheets(„Tabelle1“).Select
Cells.Select
Selection.Copy
’ Ins Zweite einfügen
Sheets(„Tabelle2“).Select
ActiveSheet.Paste
’ Spalten ausblenden
Columns(„A:A“).Select
Selection.EntireColumn.Hidden = True
’ Tabellenkopf formatieren
Range(„A1:“).Select
Selection.Font.ColorIndex = 1
With Selection.Interior
.ColorIndex = 15
.Pattern = xlSolid
End With
’ Letzte Zeile mit Inhalt finden
Dim lngLastRow As Long
With ActiveSheet
lngLastRow = .Cells.Find(What:="*", After:=Range(„A1“), _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
’ .PageSetup.PrintArea = „$A$1:blush:V$“ & lngLastRow
End With
’ Spalten mit Inhalt auswählen
Range("$A$1:blush:V$" & lngLastRow).Select
’ Tabellenrand einfügen
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
Sub
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideVertical)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
’ Druckbereich festlegen
ActiveSheet.PageSetup.PrintArea = " $A$1:blush:V$" & lngLastRow
With ActiveSheet.PageSetup
.LeftHeader = „“
.CenterHeader = „“
.RightHeader = „“
.LeftFooter = „“
.CenterFooter = „“
.RightFooter = „“
.LeftMargin = Application.InchesToPoints(0.787401575)
.RightMargin = Application.InchesToPoints(0.787401575)
.TopMargin = Application.InchesToPoints(0.984251969)
.BottomMargin = Application.InchesToPoints(0.984251969)
.HeaderMargin = Application.InchesToPoints(0.4921259845)
.FooterMargin = Application.InchesToPoints(0.4921259845)
.PrintHeadings = False
.PrintGridlines = False
.PrintComments = xlPrintNoComments
.PrintQuality = 600
.CenterHorizontally = False
.CenterVertically = False
.Orientation = xlLandscape
.Draft = False
.PaperSize = xlPaperA4
.FirstPageNumber = xlAutomatic
.Order = xlDownThenOver
.BlackAndWhite = False
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.PrintErrors = xlPrintErrorsDisplayed
End With
’ Zeilen mit ** suchen
’ Seitenumbrüche vor Zeilen mit Sternchen einfügen
End Sub
Vielen Dank im Voraus!!