Ich habe eine Tabelle, wo ich Gehälter eintrage. Nun möchte ich, dass wenn ich z.B. im September 2000 den Betrag 1000 eingebe, dass dann in einer Meldung (MsgBox) genau dieses Monat und Jahr steht, nämlich so:
Gratuliere, du hast bereits mit dem Monatsgehalt September 2000 um € " & Format(Range("$M$4") - Range("$N$4"), "#,##0.00") & " mehr verdient, als im Jahr " & Range("$N$3") & ", wo dein letzter bester Jahresverdienst € " & Format(Range("$N$4"), "#,##0.00") & " ausgemacht hat."
Statt September 2000 gehört natürlich ein VBA Code, den ich aber leider nicht zusammen bringe.
Ich hoffe, dass mir jemand helfen kann. Damit man sich besser was darunter vorstellen kann, habe ich die Datei mit angehängt.
so kannst Du es machen, wenn es nicht dynamisch sein soll:
Zitat:Private Sub Worksheet_Change(ByVal Target As Excel.Range)
With ThisWorkbook.Worksheets("neu")
If Target.Column < 13 And .Range("M4").Value > .Range("N4").Value And .Range("L4").Value > .Range("N5").Value Then 'vor Jahresende bereits am meisten in diesem Jahr verdient'
MsgBox "Gratuliere, du hast bereits mit dem Monatsgehalt " & Range("J9").Value & " " & Range("A11").Value & " um € " & Format(Range("$M$4") - Range("$N$4"), "#,##0.00") & " mehr verdient, als im Jahr " & Range("$N$3") & ", wo dein letzter bester Jahresverdienst € " & Format(Range("$N$4"), "#,##0.00") & " ausgemacht hat."
'.Range("N5").Value = .Range("L4").Value'
End If
Danke für den Code. Ich habe mich vielleicht nicht klar genug ausgedrückt.
Es kann auch sein, dass es nicht der September sondern der Oktober ist und vielleicht auch ein anderes Jahr. Es kommt eben drauf an, in welcher Zelle ich den Betrag eingegeben habe, muss ein Bezug auf das Monat und dem Jahr hergestellt werden.
With ThisWorkbook.Worksheets("neu")
If Target.Column < 13 And .Range("M4").Value > .Range("N4").Value _
And .Range("L4").Value > .Range("N5").Value Then
MsgBox "Gratuliere, du hast bereits mit dem Monatsgehalt " & _
a_nx(9, t_col) & " " & a_nx(t_row, 1) _
& " um € " & Format(Range("$M$4") - Range("$N$4"), "#,##0.00") & _
" mehr verdient, als im Jahr " & Range("$N$3") _
& ", wo dein letzter bester Jahresverdienst € " & _
Format(Range("$N$4"), "#,##0.00") & " ausgemacht hat."
End If
End With
End Sub
Falls Du weiter als bis zur Zeile 13 gehen willst, musst Du das Array entsprechend in der Größe anpassen.