Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Leerzeile nach Monatsletzten

Forumthread: Leerzeile nach Monatsletzten

Leerzeile nach Monatsletzten
Volker
Hallo zusammen,
folgendes (für mich) Problem:
Ich habe in einer Tabelle die Spalte B mit den fortlaufenden Datums(?) des laufenden Jahres gefüllt.
nun möchte ich nach jedem Monatsende eine Leerzeile einfügen.
Die Spalte fülle ich mittels:
Public Sub Kalender()
Dim WkSh_K   As Worksheet
Dim WkSh_F   As Worksheet
Dim aktJahr  As Integer
Dim dDatum   As Date
Dim lZeile   As Long
Dim lFtage   As Long
Application.ScreenUpdating = False
Set WkSh_K = Worksheets("Stundennachweis")   ' Kalenderblatt
Set WkSh_F = Worksheets("Tabelle2")   ' Feiertagsblatt
If IsNumeric(WkSh_K.Range("A1").Value) And _
Len(WkSh_K.Range("A1").Value) = 4 Then
aktJahr = CInt(WkSh_K.Range("A1").Value)
dDatum = "01.01." & aktJahr
Else
MsgBox "In Zelle A1 steht keine gültige Jahreszahl - Abbruch.", _
48, "   Hinweis für " & Application.UserName
Exit Sub
End If
lZeile = 5
Do
WkSh_K.Range("A" & lZeile).NumberFormat = "dddd"
WkSh_K.Range("A" & lZeile).Value = dDatum
For lFtage = 1 To WkSh_F.Range("A65536").End(xlUp).Row
If dDatum = CDate(WkSh_F.Range("A" & lFtage).Value) Then
WkSh_K.Range("A" & lZeile).Interior.ColorIndex = 3
Exit For
End If
Next lFtage
dDatum = dDatum + 1
lZeile = lZeile + 1
Loop Until Year(dDatum) > aktJahr
End Sub
Nun die Frage, was muss ich verändern, damit nach jedem Monatsletzten automatisch eine Leerzeile eingefügt wird?
Danke und Gruß
Volker
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Leerzeile nach Monatsletzten
04.01.2012 12:34:09
Rudi
Hallo,
lZeile = lZeile + 1 - (Month(dDatum)Month(dDatum-1))
Gruß
Rudi
AW: Leerzeile nach Monatsletzten
04.01.2012 12:35:31
Josef

Hallo Volker,
vielleicht so.
Public Sub Kalender()
  Dim WkSh_K As Worksheet, WkSh_F As Worksheet
  Dim aktJahr As Integer
  Dim dDatum As Date
  Dim lZeile As Long, lFtage As Long
  
  Application.ScreenUpdating = False
  
  Set WkSh_K = Worksheets("Stundennachweis") ' Kalenderblatt
  Set WkSh_F = Worksheets("Tabelle2") ' Feiertagsblatt
  
  If IsNumeric(WkSh_K.Range("A1").Value) And _
    Len(WkSh_K.Range("A1").Value) = 4 Then
    aktJahr = Cint(WkSh_K.Range("A1").Value)
    dDatum = "01.01." & aktJahr
  Else
    MsgBox "In Zelle A1 steht keine gültige Jahreszahl - Abbruch.", _
      48, " Hinweis für " & Application.UserName
    Exit Sub
  End If
  
  lZeile = 5
  
  Do
    With WkSh_K.Cells(lZeile, 1)
      .NumberFormat = "dddd"
      .Value = dDatum
      'Alternative ohne Schleife
      If IsNumeric(Application.Match(Clng(dDatum), WkSh_F.Columns(1), 0)) Then
        .Interior.ColorIndex = 3
      End If
      ' For lFtage = 1 To WkSh_F.Range("A65536").End(xlUp).Row
      ' If dDatum = CDate(WkSh_F.Range("A" & lFtage).Value) Then
      ' .Interior.ColorIndex = 3
      ' Exit For
      ' End If
      ' Next lFtage
    End With
    lZeile = lZeile + IIf(Month(dDatum) = Month(dDatum + 1), 1, 2)
    dDatum = dDatum + 1
  Loop Until Year(dDatum) > aktJahr
End Sub



« Gruß Sepp »

Anzeige
AW: Leerzeile nach Monatsletzten
04.01.2012 13:05:42
Volker
Danke, funktioniert wie gewünscht!
Gruß
Volker
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige