Wpis z mikrobloga

Zetknął się ktoś kiedyś z makrem które by mi pomogło i ewentualnie poratował takowym?

Mam pewien zakres liczb, czasami 70, czasami 100 itd.
Muszę wylosować 10 z tych liczb bez powtórzeń. Wiem już, że bez makra się niestety nie da bo przeszkodą jest różna ilość liczb.

Póki co wrzuciłem to w random between i wciskam jak małpa F9 dopóki nie będzie duplikatów.

#excel #vba
  • 8
@Kajotpe: spróbuj to, ewentualnie dopasuj do swoich dokładnych potrzeb bo nie wiem czy o takie coś chodzi:

Sub Losowanie()
Dim V() As Variant, Val As Variant
Dim i&, j&, r&, c&, a&, b&, d&
Dim t1 As Variant, t2 As Variant

Randomize

b = Cells(3, "H").Value
d = Cells(3, "G").Value

a = b - d + 1

ReDim V(1 To a)
ReDim Val(1 To 2, 1 To a)

For i =
bez makra się niestety nie da


@Kajotpe: E tam się nie da :) Warunek tylko, że liczby muszą zaczynać się od A2 - wklej poniższą formułę do B2, zatwierdź przez ctrl+shift+enter i skopiuj w dół do B11.

**=INDEKS($A$2:$A$101;MIN.K(JEŻELI(($A$2:$A$101<>"")*LICZ.JEŻELI(M$1:M1;$A$2:$A$101)=0;WIERSZ($A$2:$A$101)-1);LOS.ZAKR(1;SUMA(($A$2:$A$101<>"")*(LICZ.JEŻELI(M$1:M1;$A$2:$A$101)=0)))))**
@Kajotpe: Tradycyjnie wypok pogryzł formułę, a ja liczyłem w kolumnie M i zapomniałem przenieść do B... Czyli jeszcze raz:

=INDEKS($A$2:$A$101;MIN.K(JEŻELI(($A$2:$A$101<>"")*(LICZ.JEŻELI(B$1:B1;$A$2:$A$101)=0);WIERSZ($A$2:$A$101)-1);LOS.ZAKR(1;SUMA(($A$2:$A$101<>"")*(LICZ.JEŻELI(B$1:B1;$A$2:$A$101)=0)))))
@DwaNiedzwiedzie: O cholera, muszę przyznać, że jestem w szoku. Swoją drogą okazuje się, że w polskim Excelu 2007 "LOS.ZAKR" nazywało się jeszcze "RANDBETWEEN" i to było głównym problemem, do tej kolumny M jakoś bym pewnie doszedł. Dzięki. Jak chcesz to podeślij na priv numer konta w celu #piwkozaformule. ( ͡° ͜ʖ ͡°)

@Limonene: Również dzięki.