AW: Worksheet_Change auf form. Tabelle begrenzen
18.03.2014 02:28:44
fcs
Hallo Thorsten,
mit Überwachung nur einer Spalte einem Spaltentitel des ListObjects vereinfacht sich das Ganze zu
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngDD As Range
'Datum und Zählnummer eintragen, wenn in Spalte "Marke" des Listobjectes "Verkauf" in _
einer Zelle der Wert geändert wird, aber nur dann wenn in Spalte AC noch kein Datum steht.
Set rngDD = Me.Range("Verkauf[Marke]")
If Not Intersect(Target, rngDD) Is Nothing _
And Target.Cells.Count = 1 Then
'Prüfen, ob schon ein Datum in Spalte 29 (AC) eingetragen ist
If IsEmpty(Me.Cells(Target.Row, 29)) Then
Application.EnableEvents = False
Me.Cells(Target.Row, 29) = Date
Me.Cells(Target.Row, 1) = Target.Row + 117232
Application.EnableEvents = True
End If
End If
End Sub
Alternativ mit Angabe einer Spalte des Tabellenblatts wird es geringfügig komplizierter.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngDD As Range
With Me.ListObjects("Verkauf").Range
Set rngDD = .Columns(Me.Range("L:L").Column - .Column + 1)
End With
If Not Intersect(Target, rngDD) Is Nothing _
And Target.Cells.Count = 1 _
And Target.Row > rngDD.Row Then
'Prüfen, ob schon ein Datum in Spalte 29 (AC) eingetragen ist
If IsEmpty(Me.Cells(Target.Row, 29)) Then
Application.EnableEvents = False
Me.Cells(Target.Row, 29) = Date
Me.Cells(Target.Row, 1) = Target.Row + 117232
Application.EnableEvents = True
End If
End If
End Sub
Gruß
Franz