Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Bei Stundeneintrag Meldung bei Grenzüberschreitung

Gruppe

Change

Problem

Wie kann ich mir bei der Eintragung von Stunden bei Erreichen eines Grenzwertes eine Meldung anzeigen und den Eintrag auf 0 zurücksetzen lassen?

Lösung
Geben Sie den Ereigniscode in das Klassenmodul des Arbeitsblattes ein.

ClassModule: Tabelle1

Private Sub Worksheet_Change(ByVal Target As Range)
   If Target.Column > 5 Or Target.Row = 1 Then Exit Sub
   If IsEmpty(Target) Then Exit Sub
   Application.EnableEvents = False
   On Error GoTo ERRORHANDLER
   If WorksheetFunction.Sum(Range(Cells(Target.Row, 1), _
      Cells(Target.Row, 5))) > 8 Then
      MsgBox "Wer mehr als 8 Stunden arbeitet," & _
      "den soll der Teufel holen!"
      Target.Value = 0
   End If
ERRORHANDLER:
   Application.EnableEvents = True
End Sub