WWW pro školy
Jak na Office - tutoriály, video návody











Vytvoř si párové triko

Poradna - Náhodné generování čísel bez opakování

Vložení příspěvku
Předmět:
Vaše jméno: (povinný údaj) Váš e-mail:
Text:(Zbývá: 1000 znaků - povinný údaj)
Připojit ukázkový soubor:
(Maximální velikost souboru jsou 2MB.)
 Opište následující text (kvůli zneužití):  ejdNM   

hlavní kategorie | zpět | + odpovědět na toto téma
Náhodné generování čísel bez opakování - diskuze na toto téma
Dobrý den, prosím o pomoc. Potřebuji s pomocí maker vygenerovat 6 celých náhodných čísel v rozmezí, které mi stanovuje obsah dvou buňek. Tyto čísla potřebuji následně umístit do 6ti za sebou jdoucích buňek. Co je ale překážkou je, že potřebuji, aby těch 6 náhodných čísel bylo unikátních! Prosím poradíte mi nějakou fintu? Moc děkuji. ---------------------------------------- Sub tlačítko1_Kliknutí() If MsgBox("Opravdu chcete vygenerovat nový náhodný výběr?", vbYesNo + vbQuestion) = vbNo Then Exit Sub PocetNahodnychCisel = 6 For i = 1 To PocetNahodnychCisel Randomize HodnotaLow = Cells(2, 7).Value HodnotaHigh = Cells(2, 8).Value NahodneCislo = Int(HodnotaLow + (HodnotaHigh - HodnotaLow) * Rnd()) Worksheets("List1").Cells(2, i + 8) = NahodneCislo Next i End Sub

elninoslov | 6.4.2018 10:35  
 
 
Na kontrolu môžete použiť rôzne postupy, napr. reťazec, pole s cyklom, kolekciu, Application.Match. Ja som použil reťazec.
Odpověď
elninoslov | 6.4.2018 10:39  
 
 
Ešte som zabudol na koniec 1. riadku zadeklarovať to pole výsledkov, takže tam ide len doplniť "Vysledok() As Long"
Odpověď
Hana | 6.4.2018 14:33  
 
 
To elninoslov: moc děkuji, to je přesně ono! :)
Odpověď
Hana | 11.4.2018 21:38  
 
 
Dobrý den, mohu ještě požádat o pomoc? Pokud se mi bude měnit max a min pro Randomize, tzn budu mít vyplněné dva sloupce, z nichž jeden (sloupec G například bude obsahovat minima a sloupec H bude obsahovat maxima). Počet vyplněných řádků v těchto sloupcích se může měnit. Jak docílím, aby se mi náhodná čísla generovala i do dalších řádků? Předpokládám nějakou proměnou, ale nevím si s tím rady :( Moc děkuji předem za pomoc!
Odpověď
elninoslov | 13.4.2018 14:32  
 
 
Takto ?
Odpověď
Hana | 13.4.2018 21:56  
 
 
Děkuji, to je přesně ono! Paráda!!!
Odpověď
Hana | 26.4.2018 13:09  
 
 
Snad již poslední prosba. Líbí se mi Vaše řešení, to je super! chtěla bych to umět taky tak, ale bohužel mé dovednosti v VBA jsou dosti omezené :( Mohl byste upravit makro tak, aby generovalo 1 až 6 náhodných čísel? Teď je to omezené tím, že pokud je rozmezí menší než 6, tak se nevygeneruje nic. Moc byste mi tím pomohl! :)
Odpověď
Hana | 2.5.2018 14:51  
 
 
Elninoslov jste tu ještě? :) prosím věděl byste?
Odpověď
elninoslov | 8.5.2018 10:39  
 
 
Takto
Odpověď
Hana | 11.5.2018 15:54  
 
 
No, spíš kdyby při volbě rozmezí např. 1-2 byly vyplněné první dvě bunky a další 4 by byly prázdné??? To by šlo?
Odpověď
elninoslov | 14.5.2018 13:25  
 
 
To ako Vážne? Posledná úprava. Ak čokoľvek viac chcete, poriadne si rozmyslite zadanie, poriadne ho popíšte, a pridajte prílohu vo forme súboru XLSX/XLSM, kde budú reálne rozmiestnené dáta, reálneho formátu, príklad toho čo máte (reálne vyzerajúci) a príklad toho ako má presne vyzerať výsledok (reálne vyzerajúci, manuálne vytvorený). Ďalej tam uveďte všetky eventuality, ktorý môžu nastať, ale majú akýkoľvek vplyv na čokoľvek v algoritme. Na hru "Hádaj na čo myslím" som už veľký :)
Odpověď
Hana | 16.5.2018 14:52  
 
 
Omlouvám se, pokud jsem Vás takto rozčarovala, to určitě nebyl úmysl :( Původní zadání bylo takové, jaké jsem napsala, ale s postupem času bylo upraveno (ne z mé strany). Již Vás samozřejmě nebudu obtěžovat a velice děkuji za veškerý čas, který jste mi doposud věnoval. Pěkný den a krásné léto :)
Odpověď