Thema Datum  Von Nutzer Rating
Antwort
04.07.2022 14:22:05 Thorsten
NotSolved
06.07.2022 19:12:02 xlKing
NotSolved
13.07.2022 09:43:19 Thorsten
NotSolved
13.07.2022 14:12:18 Gast75396
NotSolved
Rot Anzahl X an zufälligen Uhrzeiten erzeugen für Zeitraum
13.07.2022 12:59:05 Gast47080
NotSolved

Ansicht des Beitrags:
Von:
Gast47080
Datum:
13.07.2022 12:59:05
Views:
786
Rating: Antwort:
  Ja
Thema:
Anzahl X an zufälligen Uhrzeiten erzeugen für Zeitraum

Die Basis dazu sieht in etwa so aus:

Option Explicit

Public Type TimeSpan
  MinValue As Date
  MaxValue As Date
End Type

Public Sub GenerateRandomDateInRange()
  
  Dim ts As TimeSpan
  ts.MinValue = DateSerial(2022, 7, 13) + TimeSerial(6, 0, 0)
  ts.MaxValue = DateSerial(2022, 7, 13) + TimeSerial(14, 0, 0)
  
  Dim dtmRandom As Date
  dtmRandom = DateAdd( _
                Date:=ts.MinValue, _
                Interval:="s", _
                Number:=WorksheetFunction.RandBetween(0, DateDiff("s", ts.MinValue, ts.MaxValue)))
  
  Debug.Print "#" & ts.MinValue & "# to #" & ts.MaxValue & "#"; Tab(5); ">> #" & dtmRandom & "#"
  
End Sub

Das erzeugt dir ein zufälliges Datum in einem Bereich (diesen Code-Schnipsel würde ich als Funktion verpacken, in welche an Min und Max hinein gibt und dtmRandom die Funktionsrückgabe ist).


Dann fehlt nur noch die Logik mit den einzuhaltenden Abständen und das ausschließen von zu betrachtenden Zeiträumen. Diese Informationen muss man sich merken (z.B. in einer Collection). Deinem Beispiel "6:00 - 14:00 Uhr [...] Allerdings nicht zischen 10:00 und 10:30 Uhr." folgend, währe es zunächst erforderlich einen Splitter zu schreiben, der aus jenen Angaben eine Liste mit erlauben Zeitabschnitten (TimeSpan) erstellt. Also -> 6:00 bis 9:59 und 10:31 bis 14:00. In deinem Beispiel betrachtest du übrigends die Minuten als kleinste Einheit. Das Makro oben bricht es allerdings auf Sekunden herunter (also eine Definitionsfrage Deiner-Einer wink).

 

Das diese Logik jemand für dich umsetzt, davon solltest du besser nicht ausgehen. Das ist sogar eine sehr gute Übung für Anfänger.

 

Grüße

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
04.07.2022 14:22:05 Thorsten
NotSolved
06.07.2022 19:12:02 xlKing
NotSolved
13.07.2022 09:43:19 Thorsten
NotSolved
13.07.2022 14:12:18 Gast75396
NotSolved
Rot Anzahl X an zufälligen Uhrzeiten erzeugen für Zeitraum
13.07.2022 12:59:05 Gast47080
NotSolved