Anzeige
Archiv - Navigation
656to660
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
656to660
656to660
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Seitenumbruch nach Monaten mit VBA

Seitenumbruch nach Monaten mit VBA
24.08.2005 11:34:09
Wolfgang
Hallo,
mit folgendem Makro werden bei Änderung eines Wertes in Spalte A Seitenumbrüche erzeugt:
Public

Sub umbruch()
ActiveSheet.Cells.PageBreak = xlPageBreakNone
Set r = Range("A1:A999")
For Each c In r
If c.Value <> c.Offset(1).Value Then
ActiveWindow.SelectedSheets.HPageBreaks.Add before:=c.Offset(1)
End If
Next
End Sub

Allerdings wollte ich das Makro so abändern, daß ein Seitenumbruch erzeugt wird, wenn in SpalteA keine Änderung von Werten sondern Datumswerte hinzugefügt werden: Es stehen In SpalteA fortlaufende Datumswerte, z.B.
01.03.05, 02.03.05, 03.03.05,... 29.08.05, 30.08.05 usw.
Das Makro soll also einen Seitenumbruch erzeugen, nach jeden 2.Monat in SpalteA
(März05, April05, Umbruch, Mai05, Juni05, Umbruch, Juli05, August05, Umbruch)
Ich wollte c.value in c.NumberFormat = "MM/YY" abändern, was leider nicht ging.
Ich würde mich freuen, wenn Ihr eine Lösung finden könnte.
Auf Hilfe hofft Wolfgang

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Seitenumbruch nach Monaten mit VBA
24.08.2005 11:44:22
Matthias
Hallo Wolfgang,

Sub umbruch()
Dim mon As Integer
ActiveSheet.Cells.PageBreak = xlPageBreakNone
Set r = Range("A1:A999")
mon = Month(Range("A1")) 'in A1 muss ein Wert stehen!
For Each c In r
If Month(c.Value) > mon + 1 Then
mon = Month(c.Value)
ActiveWindow.SelectedSheets.HPageBreaks.Add before:=c
End If
Next
End Sub

Gruß Matthias
AW: Seitenumbruch nach Monaten mit VBA
24.08.2005 12:05:31
Wolfgang
Hallo Matthias,
vielen Dank, klappt so wie ich mir das gewünscht habe,
Gruß Wolfgang
AW: Seitenumbruch nach Monaten mit VBA
24.08.2005 17:05:05
Wolfgang
Hallo,
wie bereits geschrieben, klappt das Makro gut, allerdings nur bis zu einem Jahreswechsel. Sobald ein neues Jahr anfängt, stimmen die Seitenumbrüche nicht mehr.
Wie könnte man dies ändern?
Gruß Wolfgang
Anzeige
AW: Seitenumbruch nach Monaten mit VBA
24.08.2005 21:23:10
Matthias
Hallo Wolfgang,
so:

Sub Umbruch()
Dim mon As Integer, r As Range, c As Range
ActiveSheet.Cells.PageBreak = xlPageBreakNone
Set r = Range("A1:A999")
mon = tVal(Range("A1")) 'in A1 muss ein Wert stehen!
For Each c In r
If tVal(c) > mon Then
mon = tVal(c)
ActiveWindow.SelectedSheets.HPageBreaks.Add before:=c
End If
Next
End Sub
Function tVal(z As Range) As Long
tVal = Int(Month(z) / 2 + 0.5) + Year(z) * 6
End Function

Gruß Matthias
AW: Seitenumbruch nach Monaten mit VBA
24.08.2005 21:37:03
Wolfgang
Hallo Matthias,
vielen Dank, so klappt auch dies.
Gruß
Wolfgang

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige