Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1244to1248
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
Inhaltsverzeichnis

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige