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
|