Hallöchen!
Ich habe ein kleines Problem:
Ich habe in einer Excel-Tabelle einen automatischen Seitenumbruch via VBA stehen, der den Seitenumbruch immer dann einfügt, wenn in einer bestimmten Spalte ein bestimmtes Wort kommt.
WEnn jetzt mal Zeilen gelöscht oder hinzugefügt werden, wird das Blatt nicht immer vollständig ausgenutzt. Wie kann ich dem Code noch eine 2. Bedingung hinzufügen, in der es heißt: Fügen immer dann einen Seitenumbruch ein, wenn a) „Kostenübertrag“ erscheint und b) mindestens 30 Zeilen auf dem Blatt stehen.
Ich füge mal hier meinen bisherigen Code mit ein:
Sub SeitenumbruecheSetzen()
Dim c As Range
For Each c In Selection
If c.Value = „Kassenbestand:“ Then ActiveSheet.HPageBreaks.Add before:=c.Offset(1, 0)
Next c
End Sub 'SeitenumbruecheSetzen
Sub SeitenumbruecheLoeschen()
Dim i As Integer
On Error Resume Next
While Err.Number = 0
ActiveSheet.HPageBreaks(1).Delete
Wend 'Err.Number = 0
On Error GoTo 0
Err.Clear
End Sub 'SeitenumbruecheLoeschen
Vielen Dank im Voraus.
Ich habe in einer Excel-Tabelle einen automatischen
Seitenumbruch via VBA stehen, der den Seitenumbruch immer dann
einfügt, wenn in einer bestimmten Spalte ein bestimmtes Wort
kommt.
WEnn jetzt mal Zeilen gelöscht oder hinzugefügt werden, wird
das Blatt nicht immer vollständig ausgenutzt. Wie kann ich dem
Code noch eine 2. Bedingung hinzufügen, in der es heißt: Fügen
immer dann einen Seitenumbruch ein, wenn a) „Kostenübertrag“
erscheint und b) mindestens 30 Zeilen auf dem Blatt stehen.
Hi Doreen,
angenommen, alle Seitenumbrüche sind gelöscht, in deiner ups äh Liste hast du in Zeile 26 das Wort Kostenübertrag, soll jetzt ein SU eingefügt werden oder erst nach/bei Zeile 30 ?
Wie geht es dann weiter wenn Kostenübertrag wieder in Zeile 45 erscheint, wie sehen (sollen aussehen) dann die Blätter aus?: So
Blatt1 Zeile 1-30
Blatt2 Zeile 31-60
oder doch so
Blatt1 zeile1-25
blatt2 zeile 26-45
Blatt3 Zeile 45-…
oder doch naders?
Gruß
Reinhard
Ich füge mal hier meinen bisherigen Code mit ein:
Sub SeitenumbruecheSetzen()
Dim c As Range
For Each c In Selection
If c.Value = „Kassenbestand:“ Then
ActiveSheet.HPageBreaks.Add before:=c.Offset(1, 0)
Next c
End Sub 'SeitenumbruecheSetzen
Sub SeitenumbruecheLoeschen()
Dim i As Integer
On Error Resume Next
While Err.Number = 0
ActiveSheet.HPageBreaks(1).Delete
Wend 'Err.Number = 0
On Error GoTo 0
Err.Clear
End Sub 'SeitenumbruecheLoeschen
Vielen Dank im Voraus.
Also ich habe ein Kassenbuch mit fortlaufenden Blättern. Am Ende des Blattes soll immmer das Wort Kassenbestand stehen. Aber es sollen auch die maximalsten Zeilen auf das Blatt kommen.
Bei meinem bisherigen Code wurde immer der SU nach dem Wort Kassenbestand eingefügt. WEnn ich dann aber mal 2 Zeilen gelöscht und nicht wieder eingefügt habe auf dem Blatt, ist der Kassenbestand immer höher gerutscht. Das sah beim Drucken doof aus. Wie kann ich ihm sagen, dass er soviel wie möglich Zeilen auf dem Blatt anzeigt und trotzdem nach dem Wort Kassenbestand einen SU einfügt?
WEnn Du möchtest, kann ich auch mal die Datei schicken…
Vielen DAnk!
Hallo Doreen,
sorry Lady, ich kapier das immer noch nicht:frowning:
Ich halte ein Buch wenn ich es lese, ansonsten habe ich von Buchhaltung null Ahnung 
Du fügst doch das Wort „Kassenbuch“ oder „Übertrag“ ein, dementsprechend macht dann dein Makro dann einen SU.
Oder soll ich deine Aussagen so deuten, du hast eine Liste mit x Buchungsdaten, alle 30 Zeilen soll ein SU erfolgen, in der letzten Zeile soll stehen: „Kassenbestand= xyz“ und auf der nächsten Seite soll oben stehen: „Kassenübertrag=xyz“ !?
Wenns dem nicht ist, dann lade mal die Datei hoch, kannst sie ja vorher verkleinern, fürs Problem brauche ich keinen 50000 Zeilen, hochladen bei http://www.hostarea.de oder sonstwo und hier den Link posten.
Ich bin aber nur noch so 30min online, kann sie also dann erst morgen anschauen.
Schön wäre es, du hast in Blatt1 und Blatt2 die gleichen Daten, Blatt1 ist nackig, also so wie die das Blatt ohne SU aussieht, in Blatt2 füge mal manuell SUs ein, also so wie es dann gedruckt werden soll das Blatt1.
Gruß
Reinhard
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]