Private
Sub
Worksheet_Change(
ByVal
Target
As
Range)
Dim
loLetzte
As
Long
, raBereich
As
Range
If
Target.Address(0, 0) =
"A1"
Or
Target.Address(0, 0) =
"A2"
Then
With
Worksheets(
"Tabelle2"
)
loLetzte = .Cells(.Rows.Count, 7).
End
(xlUp).Row
Set
raBereich = .Range(.Cells(2, 7), .Cells(loLetzte, 7))
End
With
Select
Case
Target.Row
Case
1
If
Target * 100 + Target.Offset(1) >= 6704
And
Target * 100 + Target.Offset(1) <= 6710
Then
If
WorksheetFunction.CountIfs(raBereich,
">="
& 6704, raBereich,
"<="
& 6710) > 0
Then
MsgBox
"Falscher Wert"
Application.EnableEvents =
False
Target =
""
Application.EnableEvents =
True
End
If
End
If
Case
2
If
Target.Offset(-1) * 100 + Target >= 6704
And
Target.Offset(-1) * 100 + Target <= 6710
Then
If
WorksheetFunction.CountIfs(raBereich,
">="
& 6704, raBereich,
"<="
& 6710) > 0
Then
MsgBox
"Falscher Wert"
Application.EnableEvents =
False
Target =
""
Application.EnableEvents =
True
End
If
End
If
Case
Else
End
Select
End
If
Set
raBereich =
Nothing
End
Sub
Das ist ein
Event
-Makro und gehört ins Codemodul von Tabelle1, genauso wie das von Sabrina auch.
Rechtsklick auf den Tabellenblattreiter - Code anzeigen - Code rechts ins Codefenster kopieren.
Das Makro startet bei Eingabe in Tabelle1 Zelle A1 oder A2
Unter Umständen reicht ja auch das Makro von Sabrina und ich habe das falsch interpretiert.
Gruß Werner