Für das Beispiel eins noch:
Vor Peters Schleife ermittelst Du, ob Ubound (Wochentage) > 0 ist. Wenn nicht: wt ist Cint (Wochentag).
Wenn nicht:
Das Array Wochentage durchlaufen, wenn Wochentage (Schleifenvariable) > Weekday (Datum), dann wt darauf setzen, sonst weiter.
Ist am Ende wt leer, dann ist wt = Weekday (Wochentage (0)).
Man kann das ganze noch "eleganter" machen (wenn Weekday (Datum) < wt, dann Termin = Datum + (wt - Weekday (Datum)), sonst Termin = Datum + (7 - Weekday (Datum)) + wt), aber für die Laufzeit gewinnst Du da nix.
HTH,
Bernhard