|  
                                             Hallo zusammen, 
ich habe diesen VBA-Code erstellt. Er soll sich automatisch ausführen, wenn die Excel-Mappe geöffnet wird. Er scheint auch zu funktionieren, denn im Debugger erhalte ich keine Fehler. Und wenn ich den Cursor auf die letzte Zeile setze und „Ausführen bis Cursor-Position“ klicke, dann passiert auch exakt das, was passieren soll. Nur automatisch tut er es nicht. Wisst Ihr, was das Problem sein könnte oder was mein Problem beheben könnte? Ich danke Euch vorab. 
Ich habe sicherheitshalber einen Screenshot gemacht, um zu zeigen, dass der Code aus meiner Sicht korrekt eingefügt ist: 
https://imgur.com/a/qGLEAyI 
  
Private Sub Workbook_Open() 
Dim ws As Worksheet 
Dim lastRow As Long 
Dim rngS As Range 
Dim rngU As Range 
Dim msg As String 
Set ws = ThisWorkbook.Sheets("Tabelle1") 
lastRow = ws.Cells(ws.Rows.Count, "S").End(xlUp).Row 
For i = 2 To lastRow 
Set rngS = ws.Range("S" & i) 
Set rngU = ws.Range("U" & i) 
If Not IsEmpty(rngS) And IsEmpty(rngU) Then 
If Date - rngS.Value >= 4 Then 
msg = msg & "Zelle B" & i & " (Wert: " & ws.Range("B" & i).Value & ") an Zelle R" & i & " wurde anscheinend noch nicht bestellt." & vbNewLine 
End If 
End If 
Next i 
If Len(msg) > 0 Then 
msg = "Folgende Zeilen sind betroffen:" & vbNewLine & msg 
MsgBox msg, vbCritical, "Warnung" 
End If 
End Sub 
  
     |