Microsoft Office Forum [ www.Office-Fragen.de ] >> READONLY <<
Microsoft Office 2003-2019 => Excel => Thema gestartet von: Josh77 am Januar 20, 2016, 11:10:58 Vormittag
-
Hallo zusammen,
vielleicht könnt ihr mir ja weiterhelfen:
Wir erhalten einen Report mit über 500 Seiten in .pdf-Form – dieser enthält Vertriebspartner und die dazugehörigen vermittelten Kunden.
Neuerdings möchten einige Vertriebspartner die Auswertung als .xlsx Datei. Nun kann ich zwar den Report nach Excel exportieren habe aber ein Problem mit der Seitenhöhe (aus dem Report kommen zusätzlich unterschiedliche Zeilenhöhen) - die Seitenumbrüche passen nicht mehr.
Ich hätte aus dem Report am "richtigen" Ende jeder Seite einen gleichlautenden Zellinhalt in der Spalte A ("Bestandsliste") und würde gerne immer nach dieser Zeile einen Seitenumbruch in Excel einfügen. Lässt sich sowas automatisiert über eine Formel/VBA machen?
Im Voraus schon vielen Dank für Eure Ideen und Hilfe!
Josh
-
Moin Josh,
ich bin mir nicht sicher, meinst du vielleicht ein Fußzeile?
-
Hallo Günther,
vielen Dank für Deine Rückmeldung!
Ja, im Export aus dem .pdf handelt es sich dabei um eine Fusszeile - diese wird im Excel-Export in einer separaten Zeile ausgegeben und wäre mein Kriterium für einen Seitenumbruch, d.h. immer wenn in Spalte A eine Zelle mit Inhalt "Bestandsliste" auftaucht soll ein Seitenumbruch eingefügt werden.
Vielleicht habe ich mich etwas missverständlich ausgedrückt - ich habe im Moment eine Tabelle mit über 500 Seiten und hätte gerne, dass Excel die Seiten so aufteilt, dass immer wenn in Spalte A die besagte "Bestandsliste" auftaucht ein Seitenumbruch eingefügt wird - denn nur dann kann ich Teile der Tabelle auch sinnvoll ausdrucken, ohne jedesmal manuell die Seitenumbrüche neu zu definieren - ich hoffe das war einigermaßen verständlich.
Grüße
Josh
-
OK Josh,
binde dieses Makro in das entsprechende Tabellenblatt ein:
Option Explicit
Sub SeitenUmbruch()
Dim lRow As Integer
Dim rngSpA As Range, c As Range
With ActiveSheet
'Erst einmal alle Seitenumbrüche entfernen
.ResetAllPageBreaks
lRow = .Cells(Rows.Count, 1).End(xlUp).Row
Set rngSpA = .Range("A2:A" & lRow)
For Each c In rngSpA
If c = "Bestandsliste" Then _
.HPageBreaks.Add Before:=c.Offset(0, 0)
Next c
End With
End Sub
Wenn der Seitenumbruch nach dem "Bestandsliste" eingefügt werden soll, dann ändere die 4-letzte Zeile so:
.HPageBreaks.Add Before:=c.Offset(1, 0)
-
Danke, Danke, Danke! Funktioniert prächtig
Ich verneige mich vor Deinen VBA-Kenntnissen!