ich habe einen VBA Code, der automatische Beispieldaten für einen Prozess zur Erfassung von Arbeitsunfällen erstellen soll. Eigentlich klappt alles gut, nur ein Problem habe ich dabei. In der ersten Zeile sollen bestimmte Informationen zu dem Unfall erfasst sein, die dann in den letzten beiden Prozessschritten an Bedingungen geknüpft sind. Einmal soll eine Benachrichtigung an die Berufsgenossenschaft geschickt werden, wenn die Fehltage größer 3 sind und wenn es sich um einen "Severe" Accident handelt, eine entsprechende Maßnahme eingeleitet werden. Den letzten Schritt macht das Makro nicht und es werden Fehltage in Zeilen eingefügt, die da nicht auftauchen sollten (diese sollen nur im Schritt "Documentation Consequences of the Accident" in der 12. Spalte einmal auftauchen. Könnte mir bitte jemand helfen, ich wäre sehr dankbar, da ich wenig Kenntnisse habe und die Daten für meine Masterarbeit brauche. Ich danke schonmal ganz herzlich, hier der Code:
'Daten Generierung Work-Related Accidents - Ideal Process
Sub F_en()
Dim Datum1 As Date
Range("A2:K1500").Clear
Datum1 = CDate("1.1.2020")
For i = 2 To 100 Step 7
Cells(i, 1).Resize(7) = "03_" & CStr(70000 + Int(i / 3))
Cells(i, 2) = Datum1 + Int(Rnd() * 365)
Cells(i, 3) = "Notification: Work-Related Accident"
Cells(i, 4) = "03_" & CStr(70000 + Int(i / 3))
Cells(i, 6) = Int(Cells(i, 2))
Cells(i, 7) = Choose(Int(Rnd() * 7) + 1, "Produktion 1", "Produktion 2", "Laboratory", "Warehouse", "Office 1", "Homeoffice", "Canteen")
Cells(i, 8) = Choose(Int(Rnd() * 8) + 1, "Fall", "Cut", "Crushing", "Stumble", "Crash", "Accident with Liquids", "Fall from several meters", "Swooned")
Cells(i, 9) = Choose(Int(Rnd() * 5) + 1, "Open wound", "Fraction", "Concussion", "Shock", "Nausea")
Cells(i, 10) = "05_" & CStr(70000 + Int(i / 3))
Cells(i, 11) = Choose(Int(Rnd() * 3) + 1, "Minor", "Moderate", "Severe")
Cells(i + 1, 2) = Int(Cells(i, 2) + Int(Rnd() * 1 - 30)) 'Dauer zwischen "begonnen" und "fertig"
Cells(i + 1, 3) = "Investigation of the Accident by responsible from work safety"
Cells(i + 1, 4) = "07_" & CStr(70000 + Int(i / 3))
Cells(i + 2, 2) = Int(Cells(i + 1, 2) + Rnd * 10 - 45) 'Dauer zwischen "fertig" und "signiert"
Cells(i + 2, 3) = "Digital Signature Employee with Accident"
Cells(i + 2, 4) = (Cells(i, 4))
Cells(i + 3, 2) = Int(Cells(i + 2, 2) + Rnd * 1 - 20) 'Dauer zwischen "fertig" und "signiert"
Cells(i + 3, 3) = "Digital Signature Manager"
Cells(i + 3, 4) = "09_" & CStr(70000 + Int(i / 3))
Cells(i + 4, 2) = Int(Cells(i + 3, 2) + Rnd * 45) 'Dauer zwischen "fertig" und "signiert"
Cells(i + 4, 3) = "Investigation by Safety Management"
Cells(i + 5, 2) = Int(Cells(i + 4, 2) + Rnd * 45) 'Dauer zwischen "fertig" und "signiert"
Cells(i + 5, 3) = "Notification to Accident Insurance"
Cells(i + 6, 2) = Int(Cells(i + 5, 2) + Rnd * 45) 'Dauer zwischen "fertig" und "signiert"
Cells(i + 6, 3) = "Documentation Consequences of the Accident"
Cells(i + 6, 12) = Int(0 + Rnd * (100 - 0 + 1))
If Cells(i + 6, 12).Value > 3 Then
Cells(i + 7, 1) = Cells(i, 1)
Cells(i + 7, 2) = Int(Cells(i + 6, 2) + Rnd * 10)
Cells(i + 7, 3) = "Notification to Industrial injury mutual insurance association"
i = i + 1
End If
If Cells(i, 11).Value = "Severe" Then
Cells(i + 8, 1) = Cells(i, 1)
Cells(i + 8, 2) = Int(Cells(i + 7, 2) + Rnd * 10)
Cells(i + 8, 3) = "New Measurement for Work-Safety"
i = i + 1
End If
'Cells(i, 3) = Choose(Int(Rnd() * 3) + 1, "begonnen", "fertiggestellt", "digital signiert")
Next i
End Sub
Sub Arbeitsunfall()
End Sub