AW: Wenn das IST mit einer Formel hinterlegt ist,
09.03.2008 20:08:28
Tino
Hallo,
müsste funktionieren.
Private Sub Worksheet_Change(ByVal Target As Range)
'prüfe ob geänterte Zelle im Bereich F10:P10 ist und ob die geänderte Zelle = "ist" ist
If ((Intersect(Target, Range("E10:E10")) Is Nothing) And LCase(Target) = "ist") Then
'events abschalten
Application.EnableEvents = False
'Formel eintargen von geänderte Zelle 6 Zellen nach unten
Target.Offset(6, 0).FormulaR1C1 = _
"=IF(R[-6]C=""IST"",VLOOKUP(R16C4,Tabelle2!C3:C7,R[-13]C[1],0),"""")"
'Prüfe ob Formel ein wahr ergebnis hat
If Not IsError(Target.Offset(6, 0)) Then
'Suche Zelle für Namen (ist in etwa mit der SVERWEIS Formel gleich zu setzen)
MsgBox Sheets(2).Name & " " & Sheets(2).Range("C:C").Find(What:=Range("D16"), LookAt:= _
xlWhole). _
Offset(0, Target. _
Offset(-7, 1) - 1).Address
End If
ElseIf ((Intersect(Target, Range("E16:E16")) Is Nothing) And LCase(Target.Offset(-6, 0)) = " _
ist") Then
'events abschalten
Application.EnableEvents = False
'Formel eintargen von geänderte Zelle 6 Zellen nach unten
Target.Offset(0, 0).FormulaR1C1 = _
"=IF(R[-6]C=""IST"",VLOOKUP(R16C4,Tabelle2!C3:C7,R[-13]C[1],0),"""")"
'Prüfe ob Formel ein wahr ergebnis hat
If Not IsError(Target.Offset(0, 0)) Then
'Suche Zelle für Namen (ist in etwa mit der SVERWEIS Formel gleich zu setzen)
MsgBox Sheets(2).Name & " " & Sheets(2).Range("C:C").Find(What:=Range("D16"), LookAt:= _
xlWhole). _
Offset(0, Target. _
Offset(-13, 1) - 1).Address
End If
End If
Application.EnableEvents = True
End Sub
Gruß
Tino