Zdravím.
Dlouho jsem neměl dotaz:)
Řeším takovou věc. Mám zadané 2 termíny, např. 1.1.2013-1.2.2013, čas 14:30-15:30 a 1.1.2013-1.2.2013, čas 15:00-16:00. Potřebuji fcí ve VBA zjistit, zda je druhý čas kolizní nebo ne. Jakmile by bylo odlišné datum, kontrola není třeba.
Nevím jak jednoduše ošetřit všechny varianty - kolize počátku, konce, mezi.
VBA: kontrola termínu od-do (kolize)
-
- člen HW spec týmu
-
Elite Level 12
- Příspěvky: 16119
- Registrován: květen 08
- Bydliště: České Budějovice
- Pohlaví:
- Stav:
Offline
VBA: kontrola termínu od-do (kolize)
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?
Chcete si nechat sestavit nový počítač?
Re: VBA: kontrola termínu od-do (kolize)
No urcite to nejak pujde, ale bude potreba to poradne vydefinovat. Nejlepsi by bylo poslat soubor s prikladem!!!!
Napr: Jak jsem zadane tyto hodnoty v bunkach (nebo je to hodnota ulozena v promenne VBA? - jak je ulozena)
1.1.2013-1.2.2013, čas 14:30-15:30 a 1.1.2013-1.2.2013, čas 15:00-16:00
Toto znamena, ze prvni termin je 1. a 2. od 14:30 do 15:30 (tedy dva dny po hodine?)
nebo je to myslene nejak jinak?
Napr: Jak jsem zadane tyto hodnoty v bunkach (nebo je to hodnota ulozena v promenne VBA? - jak je ulozena)
1.1.2013-1.2.2013, čas 14:30-15:30 a 1.1.2013-1.2.2013, čas 15:00-16:00
Toto znamena, ze prvni termin je 1. a 2. od 14:30 do 15:30 (tedy dva dny po hodine?)
nebo je to myslene nejak jinak?
-
- člen HW spec týmu
-
Elite Level 12
- Příspěvky: 16119
- Registrován: květen 08
- Bydliště: České Budějovice
- Pohlaví:
- Stav:
Offline
Re: VBA: kontrola termínu od-do (kolize)
Vidíš, to jsem neupřesnil.
Je to rozmezí datumů od do. Jako den by mohl být pondělí - to už je jedno. Potřebuji, abych získal výstup s informací (0/1, true/fals?) v případě, že se jeden termín kříží s druhým. Poslední úrovní v kontrole je právě čas.
Napadlo mě, zda by nestačilo kontrolovat druhý počáteční a koncový čas fcí je mezi prvním časem od - do.
Je to rozmezí datumů od do. Jako den by mohl být pondělí - to už je jedno. Potřebuji, abych získal výstup s informací (0/1, true/fals?) v případě, že se jeden termín kříží s druhým. Poslední úrovní v kontrole je právě čas.
Napadlo mě, zda by nestačilo kontrolovat druhý počáteční a koncový čas fcí je mezi prvním časem od - do.
Naposledy upravil(a) d1amond dne 18 zář 2013 15:05, celkem upraveno 1 x.
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?
Chcete si nechat sestavit nový počítač?
Re: VBA: kontrola termínu od-do (kolize)
a co takhle prilozit ten soubor, protoze ukazka je za tisic slov.
Na muj dotaz ohledne toho, kde a jakym zpusobem jsou data a casy ulozeny, jsem odpoved nedostal.
Nejlepsi by bylo mit soubor, kde by byl vzorovy pripad a preference, jak by melo vypada reseni...
Na muj dotaz ohledne toho, kde a jakym zpusobem jsou data a casy ulozeny, jsem odpoved nedostal.
Nejlepsi by bylo mit soubor, kde by byl vzorovy pripad a preference, jak by melo vypada reseni...
-
- člen HW spec týmu
-
Elite Level 12
- Příspěvky: 16119
- Registrován: květen 08
- Bydliště: České Budějovice
- Pohlaví:
- Stav:
Offline
Re: VBA: kontrola termínu od-do (kolize)
https://www.dropbox.com/s/y19gdhxrp13zi ... cvicny.xls
V Module 3 je procedura pokus() která volá fci na stejném místě. Používám to k testování.
V Module 3 je procedura pokus() která volá fci na stejném místě. Používám to k testování.
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?
Chcete si nechat sestavit nový počítač?
Re: VBA: kontrola termínu od-do (kolize)
asi jsem natvrdlej, ale ja to fakt nechapu - co kdybys pouzil dva priklady a na nich ukazal, kde je teda ta kolize a jak by mel vypadat vystup funkce...fakt nevim... ani s tim souborem, ktery jsi vubec nepopsal!
-
- Pohlaví:
Re: VBA: kontrola termínu od-do (kolize)
Klíčová slova pro Google: "interval overlap/intersect"
Mělo by to být následovně:
Intervaly mají průnik (meze včetně), pokud
(Start1 <= Konec2) AND (Start2 <= Konec1)
Mělo by to být následovně:
Intervaly mají průnik (meze včetně), pokud
(Start1 <= Konec2) AND (Start2 <= Konec1)
-
- člen HW spec týmu
-
Elite Level 12
- Příspěvky: 16119
- Registrován: květen 08
- Bydliště: České Budějovice
- Pohlaví:
- Stav:
Offline
Re: VBA: kontrola termínu od-do (kolize)
Tak nějak to mám, jen mi to přišlo moc jednoduché:)
Díky za tip. Zkusím ještě pohledat.
Díky za tip. Zkusím ještě pohledat.
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?
Chcete si nechat sestavit nový počítač?
-
- Pohlaví:
Re: VBA: kontrola termínu od-do (kolize)
U dvou intervalů je to takhle jednoduché.. ale u třech a víc by to bylo už asi o kombinatorice..
-
- Mohlo by vás zajímat
- Odpovědi
- Zobrazení
- Poslední příspěvek
-
- 17
- 5543
-
od viktorsavo
Zobrazit poslední příspěvek
10 lis 2024 10:52
-
- 0
- 2148
-
od nermitus
Zobrazit poslední příspěvek
17 lis 2024 22:57
-
- 0
- 2223
-
od viktorsavo
Zobrazit poslední příspěvek
23 dub 2025 20:40
-
- 2
- 2011
-
od Alferi
Zobrazit poslední příspěvek
23 kvě 2025 08:49
-
- 27
- 5502
-
od Alferi
Zobrazit poslední příspěvek
19 led 2025 11:40
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host