Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
992to996
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
992to996
992to996
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Probleme beim Einfügen man. Seitenumbrüche (VBA)

Probleme beim Einfügen man. Seitenumbrüche (VBA)
11.07.2008 14:13:49
Peter
Servus,
kann mir bitte jemand erklären warum VBA das einfügen der manuellen Seitenumbrüche nicht interessiert.
(Keine Fehlermeldung aber auch kein Löschen der Seitenumbrüche bzw. einfügen der manuellen Seitenumbrüche).
Ziel: über u.a. Eingaben eine gleichmäßige Verteilung der Spalten und Zeilen beim Drucken zu erreichen
Danke.
Projekt_Details
 AYAZBABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBU
4                       
5 Druckoptionen    
6 S. Breit:3 S. Hoch:1 Drucker:Adobe PDF    
7                       
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  



strWiederholung(0) = "$D:$F" 'Wiederholungsspalten

    strWiederholung(1) = "$10:$16" 'Wiederholungszeilen

    lngSpalten(0) = Range("H11").Column 'Erste Spalte des Drucks festlegen

    lngSpalten(1) = Range("B19").Value 'letzte Spalte des Drucks festlegen (letzte Spalte ohne Fehler in der KW Berechnung)

    lngZeilen(0) = Range("D17").Row: lngZeilen(1) = Range("D77").Row '(0)Erste Zeile (1)Letzte Zeile

    intSeiten(0) = Range("BC6").Value: intSeiten(1) = Range("BH6").Value  '(0)Seiten breit (1)S. hoch

    intLoop(0) = (lngSpalten(1) - lngSpalten(0)) / intSeiten(0) 'Anzahl Spalten pro Seite breit

    intLoop(1) = (lngZeilen(1) - lngZeilen(0)) / intSeiten(1) 'Anzahl Zeilen pro Seite hoch



    For intZ = 1 To intSeiten(0) 'Seiten breit



        ReDim Preserve intSeiten_Sp(1, intZ - 1)

        If intZ = 1 Then        'Erste Seite

            intSeiten_Sp(0, intZ - 1) = lngSpalten(0)

            intSeiten_Sp(1, intZ - 1) = Round(intSeiten_Sp(0, intZ - 1) + intLoop(0) - IIf(intSeiten(0) = 1, 0, 1), 0)

        ElseIf intZ = intSeiten(0) Then 'Letzte Seite = x

            intSeiten_Sp(0, intZ - 1) = intSeiten_Sp(1, intZ - 2) + 1

            intSeiten_Sp(1, intZ - 1) = lngSpalten(1)

        ElseIf intZ > 1 Then        'Sonstige Seiten = 2 bis x - 1

            intSeiten_Sp(0, intZ - 1) = intSeiten_Sp(1, intZ - 2) + 1

            intSeiten_Sp(1, intZ - 1) = Round(intSeiten_Sp(0, intZ - 1) + intLoop(0) - 1, 0)

        End If

    Next



    For intZ = 1 To intSeiten(1) 'Seiten hoch

        ReDim Preserve intSeiten_Ze(1, intZ - 1)

        If intZ = 1 Then        'Erste Seite

            intSeiten_Ze(0, intZ - 1) = lngZeilen(0)

            intSeiten_Ze(1, intZ - 1) = Round(intSeiten_Ze(0, intZ - 1) + intLoop(1) - IIf(intSeiten(1) = 1, 0, 1), 0)

        ElseIf intZ = intSeiten(1) Then 'Letzte Seite = x

            intSeiten_Ze(0, intZ - 1) = intSeiten_Ze(1, intZ - 2) + 1

            intSeiten_Ze(1, intZ - 1) = lngZeilen(1)

        ElseIf intZ > 1 Then        'Sonstige Seiten = 2 bis x -1

            intSeiten_Ze(0, intZ - 1) = intSeiten_Ze(1, intZ - 2) + 1

            intSeiten_Ze(1, intZ - 1) = Round(intSeiten_Ze(0, intZ - 1) + intLoop(1) - 1, 0)

        End If



        For intC = 0 To UBound(intSeiten_Sp, 2)

            ReDim Preserve rngDruck(arrC)

            'Set rngDruck(arrC) = Range(Cells(intSeiten_Ze(0, intZ - 1), intSeiten_Sp(0, intC)), _

                                    Cells(intSeiten_Ze(1, intZ - 1), intSeiten_Sp(1, intC))) '--> auch schon probiert


            Set rngDruck(arrC) = Range(Cells(intSeiten_Ze(1, intZ - 1), intSeiten_Sp(1, intC)), _

                                        Cells(intSeiten_Ze(1, intZ - 1), intSeiten_Sp(1, intC)))

            'MsgBox rngDruck(arrC).Address(0, 0)

            arrC = arrC + 1

        Next

    Next



    With ActiveSheet.PageSetup

        .PrintTitleRows = strWiederholung(1)

        .PrintTitleColumns = strWiederholung(0)

        .PrintArea = "$C$9:$CU$77"

    End With



    ActiveSheet.Cells.PageBreak = xlPageBreakNone 'Alle Seitenumbrüche löschen

    'Seitenumbrüche neu (nach Eingabe) zuordnen

    For intC = 0 To UBound(rngDruck)

        'rngDruck.PageBreak = xlPageBreakManual '--> Funktioniert auch nicht

        ActiveSheet.Columns((rngDruck(intC).Column)).PageBreak = xlPageBreakManual

        ActiveSheet.Rows((rngDruck(intC).Row)).PageBreak = xlPageBreakManual

    Next


MfG Peter

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probleme beim Einfügen man. Seitenumbrüche (VBA)
12.07.2008 08:02:00
Christian
Hallo Peter,
bin auch kein Pagesetup Experte, aber im Archiv findest du den ein oder anderen Hinweis darauf, dass:
ActiveWindow.View = xlPageBreakPreview
und
ActiveSheet.PageSetup.Zoom = False
ganz hilfreich sein könnte. In wie weit du das schon berücksichtigt hast, kann ich in deinem Code-Fragment nicht erkennen.
Gruß
Christian

AW: Probleme beim Einfügen man. Seitenumbrüche (VB
12.07.2008 11:17:23
Peter
Servus,
ne das ist es nicht, ich hab die ganze Online-Faq zu dem Thema durchprobiert.
Du Kannst 3 Seiten setzen, es kümmert xls einfach nicht, der macht nur 2 !
Komisch ist aber wohl so, danke trotzdem.
MfG
Peter
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige