Prøv:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo slut
If Not Intersect(Range("D4:D200"), Target) Is Nothing Then
If Target.Value = "" Then Exit Sub
If Not Target.Value = Range("S1").Value _
And Not Target.Value = Range("T1").Value _
And Not Target.Value = Range("U1").Value Then
Target.Activate
Dim Svar As String
Dim CorrectAnswer As Boolean
Do
Svar = InputBox("Der kan anvendes følgende:" & vbCrLf & _
Range("S1").Value & vbTab & _
Range("T1").Value & vbTab & _
Range("U1").Value, "Du har indtastet bruger-initialer, der ikke er tilladt.")
If Svar = Range("S1").Value Or Svar = Range("T1").Value Or Svar = Range("U1").Value Then
CorrectAnswer = True
Else
CorrectAnswer = False
MsgBox "Det var skidt - men vi prøver bare igen!"
End If
Loop Until CorrectAnswer
Target.Value = Svar
End If
End If
Exit Sub
slut:
MsgBox "Der opstod en uventet fejl. FejlNr: " & Err.Number
End Sub