ich habe folgende Zeile in einem Makro:
If UCase(z.Value) = "AUFTRAG" Then
Nun habe ich zwei Probleme mit dem Code
1. Dieser Wert ergibt sich aus einer Formel. Wenn ich von Hand AUFTRAG in die Zelle schreibe, dann wird der nacfolgende Code ausgeführt. Wenn der Wert allerdings aus einer Formel kommt, dann geht es nicht. Was muss ich ändern dass es trotzdem geht.
2. Es kommt vor, dass der Wert nicht genau AUFTRAG lautet sondern länger ist und nur mit AUFTRAG beginnt, z.B. AUFTRAGMUeller, oder AUFTRAG SCHMIDT.
Also das nach dem AUFTRAG noch etwas stehen kann. Das soll auch akzeptiert werden. Was muss dafür geändert werden.
Danke für Tipps!
Daniel
Hier noch der komplette Code, den Matthias G für mich erstellt hatte:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range, z As Range
Set rng = Intersect(Target, Range("M:M"))
If Not rng Is Nothing Then
For Each z In rng
If z.Offset(0, -6) = Date Then
If UCase(z.Value) = "AUFTRAG" Then
MsgBox "Aha, in Spalte G seht das heutige Datum und in Spalte G wurde 'Auftrag' eingetragen!" & vbLf & _
"in Spalte F steht: " & z.Offset(0, -7).Formula
End If
End If
Next z
End If
End Sub