Výsledky 1 až 2 z 2

Téma: [VBA] vygenerovat unikátní náhodné číslo + další

  1. #1

    Standardní [VBA] vygenerovat unikátní náhodné číslo + další

    Zdravim,

    potřebuju udělat jednoduchej prográmek, kterej bude konat následující:

    vybere X náhodnejch buněk a v dalších Y nahodnejch buňkách na ně vypíše odkazy. počet X se rovná počtu Y. A ty buňky nebudou v jednom sloupci, ale budou vybírány náhodně z celýho listu a to nevim jak udělat (

    Kód:
    Sub Odkazy()
    
    horni_mez = 10
    For i = 1 To horni_mez
        nahodne_cislo1 = Int((horni_mez - 1 + 1) * Rnd + 1)
        nahodna_bunka = Range("A" & nahodne_cislo1)
        nahodne_cislo2 = Int((horni_mez - 1 + 1) * Rnd + 1)
        With ActiveSheet
            .Hyperlinks.Add .Range("C" & nahodne_cislo1), Address:="", SubAddress:=("List1!A" & nahodne_cislo2)
        End With
    Next i
    
    End Sub
    Toto udělá to, že to vybere v náhodném pořadí buňky ze sloupce "A" a posadí je v náhodnym pořadí do sloupce "C". Jenže chtěj po mě to ještě doladit, aby to vybíralo z náhodnýho sloupce a vypsalo to ty odkazy taky do náhodnýho a aby se žádný odkaz neopakoval.

    Bohužel, VBA neni mou silnou stránkou, tak prosím o pomoc

    Kdyby vám to nebylo jasný a připadalo jako totální debilita, tak se nepletete
    ...všechno lze nějak udělat, otázkou je jak...

  2. #2
    Senior Member
    Založen
    22.07.2003
    Bydliště
    Ostrava - Homeless putující světem
    Příspěvky
    731
    Vliv
    276

    Standardní

    Kód:
    Dim VstupniBunka as Range, VystupniBunka as Range
    
    Set VstupniBunka=Range("A1")
    Set VystupniBunka=Range("A1")
    
    ...
    VystupniBunka.Offset(Nejake Rnd Cislo,Nejake Rnd Cislo) = VstupniBunka.Offset(Nejake Rnd Cislo,Nejake Rnd Cislo)
    
    ...
    Toto jenom prepise hodnotu. si tam muzes nastavit ty odkazy misto toho.

    .Offset(posun o x radku, posun o y sloupcu) -- tzn. ty nahodne cisla musis udrzovat v potrebnem max intervalu (2^16 - 1,2^8 -1)
    Kód:
    Int((horní_mez - dolní_mez + 1) * Rnd + dolní_mez)
    Autor tohoto příspěvku je zpráskaná LAMA. Absolvoval 6 tříd ZŠ. Proto berte obsah příspěvku s rezervou.

Informace o tématu

Users Browsing this Thread

Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)

Pravidla přispívání

  • Nemůžete zakládat nová témata
  • Nemůžete zasílat odpovědi
  • Nemůžete přikládat přílohy
  • Nemůžete upravovat své příspěvky
  •