Microsoft Excel

Excel und VBA: Formeln, Programmierung, Lösungen

Die Excel/VBA-Beispiele

Thema

Fahrzeugbelegungsplan nach Datumseintragung aktualisieren

Gruppe

Change

Problem

Wie kann ich in einem Fahrzeugbelegungsplan nach Eintragung eines Enddatums im relevanten Zeitraum den jeweiligen Fahrer eintragen lassen?

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

ClassModule: Tabelle2

Private Sub Worksheet_Change(ByVal Target As Range)
   Dim varStart As Variant, varEnd As Variant
   Dim iRow As Integer, iCol As Integer
   If Target.Column <> 3 Then Exit Sub
   If IsEmpty(Target) Then Exit Sub
   If Not IsDate(Target) Then Exit Sub
   With Worksheets("Tabelle2")
      varStart = Application.Match( _
         CDbl(Target.Offset(0, -1).Value), .Columns(1), 0)
      varEnd = Application.Match( _
         CDbl(Target.Value), .Columns(1), 0)
      If IsError(varStart) Or IsError(varEnd) Then _
         GoTo ERRORHANDLER
      iCol = WorksheetFunction.Match( _
         Cells(Target.Row, 1).Value, .Rows(1), 0)
      For iRow = varStart To varEnd
         .Cells(iRow, iCol).Value = Target.Offset(0, 1).Value
      Next iRow
   End With
   Exit Sub
ERRORHANDLER:
   MsgBox "Der Datumsbereich wurde nicht gefunden!"
End Sub