Private
Sub
CommandButton1_Click()
Dim
Start
As
Date
Dim
Ende
As
Date
Dim
Monat
As
Long
Dim
i
As
Long
Dim
ZeileStart
As
Long
, ZeileEnde
As
Long
Dim
Jahr1
As
Long
, ZeileJahr1
As
Long
Dim
dblSum
As
Double
With
Me
.Range(
"A25"
)
Jahr1 = .Value
ZeileJahr1 = .Row
End
With
Start =
Me
.Range(
"B12"
).Value
Ende =
Me
.Range(
"C12"
).Value
ZeileStart = ZeileJahr1 + (Year(Start) - Jahr1) * 16 + 1 + Month(Start)
ZeileEnde = ZeileJahr1 + (Year(Ende) - Jahr1) * 16 + 1 + Month(Ende)
Me
.Cells(ZeileStart, 4).Value =
Me
.Cells(ZeileStart, 3) - Day(Start)
Me
.Cells(ZeileEnde, 4).Value = Day(Ende)
For
i = ZeileStart + 1
To
ZeileEnde - 1
Select
Case
Me
.Cells(i, 2).Value
Case
1
To
12
Me
.Cells(i, 4).Value =
Me
.Cells(i, 3)
End
Select
Next
i
If
Me
.Range(
"B16"
).Value > 0
And
Me
.Range(
"C16"
).Value > 0
Then
Start =
Me
.Range(
"B16"
).Value
Ende =
Me
.Range(
"C16"
).Value
ZeileStart = ZeileJahr1 + (Year(Start) - Jahr1) * 16 + 1 + Month(Start)
ZeileEnde = ZeileJahr1 + (Year(Ende) - Jahr1) * 16 + 1 + Month(Ende)
Me
.Cells(ZeileStart, 6).Value =
Me
.Cells(ZeileStart, 3) - Day(Start)
Me
.Cells(ZeileEnde, 6).Value = Day(Ende)
For
i = ZeileStart + 1
To
ZeileEnde - 1
Select
Case
Me
.Cells(i, 2).Value
Case
1
To
12
Me
.Cells(i, 6).Value =
Me
.Cells(i, 3)
End
Select
Next
i
End
If
Range(
"D12"
) = Application.Sum(Range(
"E27:E100"
))
Range(
"D16"
) = Application.Sum(Range(
"G27:G100"
))
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 < VarDatum
Then
Me
.Range(
"C19"
).Value = VarDatum
Else
VarDatum =
"31.12."
& Year(Datum)
Me
.Range(
"C19"
).Value = VarDatum
End
If
Start =
Me
.Range(
"B19"
).Value
Ende =
Me
.Range(
"C19"
).Value
ZeileStart = ZeileJahr1 + (Year(Start) - Jahr1) * 16 + 1 + Month(Start)
ZeileEnde = ZeileJahr1 + (Year(Ende) - Jahr1) * 16 + 1 + Month(Ende)
dblSum = 0
For
i = ZeileStart
To
ZeileEnde
Select
Case
Me
.Cells(i, 2).Value
Case
1
To
12
dblSum = dblSum +
Me
.Cells(i, 1)
End
Select
Next
i
Me
.Cells(19, 4).Value = dblSum
With
Me
.Range(
"B19"
)
Me
.Range(
"B20"
).Value = .Value
Me
.Range(
"C20"
).Value = DateSerial(Year(.Value) + 1, Month(.Value), Day(.Value)) - 1
End
With
Start =
Me
.Range(
"B20"
).Value
Ende =
Me
.Range(
"C20"
).Value
ZeileStart = ZeileJahr1 + (Year(Start) - Jahr1) * 16 + 1 + Month(Start)
ZeileEnde = ZeileJahr1 + (Year(Ende) - Jahr1) * 16 + 1 + Month(Ende)
dblSum = 0
For
i = ZeileStart
To
ZeileEnde
Select
Case
Me
.Cells(i, 2).Value
Case
1
To
12
dblSum = dblSum +
Me
.Cells(i, 1)
End
Select
Next
i
Me
.Cells(20, 4).Value = dblSum
End
Sub