ich komme bei folgendem nicht weiter und hoffe Ihr könnt mir helfen.
https://www.herber.de/bbs/user/91939.xlsm
1. Das es automatisch erkennt in welchem Jahr es startet. Gibt man z.B. in "B12" den 10.02.2010 und in "C12" den 15.06.2011 ein, setzt es mir im Jahrblock 2010 im Monat 2, 18 Tage und geht bis zum Jahrblock 2011 zum Monat 6, mit 15 Tage. Die Monate dazwischen übernimmt es mir die Tage des jeweiligen Monats. Das ist auch alles korrekt.
Schreib ich aber in "B12" z.B den 08.03.2011 - 15.09.2011 passt schon was nicht. Es setzt mir zwar im Jahrblock 2011 den Anfangs und End Tag, aber die Monate dazwischen setzt es im Jahrblock 2010 und nicht 2011
Es gibt 4 Jahresblöcke (2010,2011,2012,2013). Gibt es dann die Möglichkeit, wenn man ein Zeitraum eingibt("B12-"C12") und ("B16"-"C16") sich es dann das jeweilige Datum korrekt zuordnet?
Und ist es noch Möglich wenn ich die Jahre in "A25,A41,A57,A73" änder, ich dies auch nicht im Code umstellen muss, sondern dies bei Eingabe eines Zeitraums es automatisch erkennt?
2. Das es mir in "D19" nur die Punkte von diesem Zeitraum ("B19,C19") errechnet und einfügt. Die Punkte stehen in "A"
3. Das es mir nochmal das Datum von "B19" in "B20" übernimmt und dieses dann in "C20" ein Jahr drauf zählt.
Steht also z.B dann in "B20" 16.06.2010 sollte es in "C20" den 15.06.2011 einsetzen.
Und auch in "D20" dann die Punkte von diesem Zeitraum errechnen und einfügen. Punkte stehen in "A"
4. Klasse wäre es noch, wenn man in "B12, C12" und "B16, C16" bei klick auf die Zelle ein Kalender aufgeht, der den ausgewählten Tag in die Zelle gleich einfügt. Und das wenn möglich ohne diesen Steuerelement Kalender unter VBA Zusatzfunktionen.
anbei noch mein Code:
Private Sub CommandButton1_Click()
Dim Start As Date
Dim Ende As Date
Dim Monat As Long
Dim i As Long
Start = Me.Range("B12").Value
Ende = Me.Range("C12").Value
Select Case Year(Start)
Case "2010"
Range("D" & 26 + Month(Start)) = Range("C" & 26 + Month(Start)) - Day(Start)
Case "2011"
Range("D" & 42 + Month(Start)) = Range("C" & 26 + Month(Start)) - Day(Start)
End Select
Select Case Year(Ende)
Case "2010"
Me.Range("D" & 26 + Month(Ende)) = Day(Ende)
Case "2011"
Me.Range("D" & 42 + Month(Ende)) = Day(Ende)
End Select
For i = 1 To DateDiff("m", Start, Ende) - 1
If Month(Start) + i > 12 Then
Me.Range("D" & 42 + Month(Start) + i - 12) = _
Me.Range("C" & 42 + Month(Start) + i - 12)
Else
Me.Range("D" & 26 + Month(Start) + i) = Me.Range("C" & 26 + Month(Start) + i)
End If
Next i
Start = Me.Range("B16").Value
Ende = Me.Range("C16").Value
Select Case Year(Start)
Case "2010"
Me.Range("F" & 26 + Month(Start)) = Range("C" & 26 + Month(Start)) - Day(Start)
Case "2011"
Me.Range("F" & 42 + Month(Start)) = Range("C" & 26 + Month(Start)) - Day(Start)
End Select
Select Case Year(Ende)
Case "2010"
Me.Range("F" & 26 + Month(Ende)) = Day(Ende)
Case "2011"
Me.Range("F" & 42 + Month(Ende)) = Day(Ende)
End Select
For i = 1 To DateDiff("m", Start, Ende) - 1
If Month(Start) + i > 12 Then
Me.Range("F" & 42 + Month(Start) + i - 12) = _
Me.Range("C" & 42 + Month(Start) + i - 12)
Else
Me.Range("F" & 26 + Month(Start) + i) = Me.Range("C" & 26 + Month(Start) + i)
End If
Next i
Range("D12") = Application.Sum(Range("E27:E38"))
Range("D16") = Application.Sum(Range("G27:G38"))
If Range("C16") = "" Then
Range("B19").Value = Range("C12") + 1
Else
Range("B19").Value = Range("C16") + 1
End If
Dim Datum As Date
Dim VarDatum As Date
Datum = WorksheetFunction.Max _
(Me.Range("B12").Value, Me.Range("C12").Value, _
Me.Range("B16").Value, Me.Range("C16").Value)
Datum = "01." & Month(Datum) + 1 & "." & Year(Datum)
VarDatum = "30.06." & Year(Datum)
If Datum
Danke Euch schonmal