ich habe das folgende Makro vorliegen (siehe unten).
Problem: die Summe, die in den Zellen W,X,Y,Z 8 steht, sollte durch 2 geteilt werden. Wert vposition ist 5.
Ich habe das für ähnliche Makros hingekriegt, aber dieses hier macht mir Probleme. Ich starre hin und kann nichts mehr erkennen.
Hat jemand eine Idee, wo ich hingucken soll? Zunächst habe ich das value am Syntaxende /2 genommen und es Funktioniert nicht!! Bei anderen Makros aber schon...wo ist mein Fehler?
Das Makro funktioniert einwandfrei, aber diese Summe ändert sich nicht :((
Bei Bedarf sende ich die Tab zu.
Danke.
Sub halbjährlich()
'Berechnung aus Jahresbeträgen beate
sheetname = ActiveSheet.Name
vposition = Sheets("Parameter").Range("E3").Value
perioden = Sheets("Parameter").Range("E1").Value
MonatVertragEnde = Month(Sheets(sheetname).Cells(vposition + 4, 16).Value)
If Sheets(sheetname).Cells(vposition + 4, 20).Value = "" Then
auszahlungsmonat = Month(Sheets(sheetname).Cells(vposition + 4, 15).Value)
Else
auszahlungsmonat = Month(Sheets(sheetname).Cells(vposition + 4, 20).Value)
End If
If perioden <= 0 Then
Exit Sub
End If
If perioden <= 6 Then
If auszahlungsmonat >= 1 And auszahlungsmonat <= 3 Then
If auszahlungsmonat < MonatVertragEnde Then
Sheets(sheetname).Cells(vposition + 4, 26).Value = ((Sheets(sheetname).Cells(vposition + 4, 18).Value) + Sheets(sheetname).Cells(vposition + 4, 19).Value)
Else
Sheets(sheetname).Cells(vposition + 4, 28).Value = ((Sheets(sheetname).Cells(vposition + 4, 18).Value) + Sheets(sheetname).Cells(vposition + 4, 19).Value)
End If
End If
If auszahlungsmonat > 3 And auszahlungsmonat <= 6 Then
If auszahlungsmonat < MonatVertragEnde Then
Sheets(sheetname).Cells(vposition + 4, 27).Value = ((Sheets(sheetname).Cells(vposition + 4, 18).Value) + Sheets(sheetname).Cells(vposition + 4, 19).Value)
Else
Sheets(sheetname).Cells(vposition + 4, 29).Value = ((Sheets(sheetname).Cells(vposition + 4, 18).Value) + Sheets(sheetname).Cells(vposition + 4, 19).Value)
End If
End If
If auszahlungsmonat > 6 And auszahlungsmonat <= 9 Then
If auszahlungsmonat < MonatVertragEnde Then
Sheets(sheetname).Cells(vposition + 4, 28).Value = (Sheets(sheetname).Cells(vposition + 4, 18).Value + Sheets(sheetname).Cells(vposition + 4, 19).Value)
Else
Sheets(sheetname).Cells(vposition + 4, 26).Value = (Sheets(sheetname).Cells(vposition + 4, 18).Value + Sheets(sheetname).Cells(vposition + 4, 19).Value)
End If
End If
If auszahlungsmonat > 9 And auszahlungsmonat <= 12 Then
If auszahlungsmonat < MonatVertragEnde Then
Sheets(sheetname).Cells(vposition + 4, 29).Value = (Sheets(sheetname).Cells(vposition + 4, 18).Value + Sheets(sheetname).Cells(vposition + 4, 19).Value)
Else
Sheets(sheetname).Cells(vposition + 4, 27).Value = (Sheets(sheetname).Cells(vposition + 4, 18).Value + Sheets(sheetname).Cells(vposition + 4, 19).Value)
End If
End If
Exit Sub
End If
If perioden > 6 And perioden <= 12 Then
If auszahlungsmonat >= 1 And auszahlungsmonat <= 3 Or auszahlungsmonat > 6 And auszahlungsmonat <= 9 Then
Sheets(sheetname).Cells(vposition + 4, 26).Value = (Sheets(sheetname).Cells(vposition + 4, 18).Value + Sheets(sheetname).Cells(vposition + 4, 19).Value)
Sheets(sheetname).Cells(vposition + 4, 28).Value = (Sheets(sheetname).Cells(vposition + 4, 18).Value + Sheets(sheetname).Cells(vposition + 4, 19).Value)
End If
If auszahlungsmonat > 3 And auszahlungsmonat <= 6 Or auszahlungsmonat > 9 And auszahlungsmonat <= 12 Then
Sheets(sheetname).Cells(vposition + 4, 27).Value = (Sheets(sheetname).Cells(vposition + 4, 18).Value + Sheets(sheetname).Cells(vposition + 4, 19).Value)
Sheets(sheetname).Cells(vposition + 4, 29).Value = (Sheets(sheetname).Cells(vposition + 4, 18).Value + Sheets(sheetname).Cells(vposition + 4, 19).Value)
End If
Exit Sub
End If