Poradna - Náhodné generování čísel bez opakování
hlavní kategorie | zpět | + odpovědět na toto témaNá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 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ěď Ešte som zabudol na koniec 1. riadku zadeklarovať to pole výsledkov, takže tam ide len doplniť "Vysledok() As Long" Odpověď 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ěď 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ěď 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ěď 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ěď 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ěď |