mario1p
25.09.14,16:39
Prosim Vas vie mi niekto upravit toto makro na permutacie aby bolo bez opakovania? Skratka je jedno na ktorom mieste cislo bude. Je jedno ci bude 1 2 3 4 alebo bude 4 3 2 1 alebo 1 3 2 4. Skratka ked budu pouzite cisla uz ta kombinacia nebude.

Sub AAA()
Dim i As Integer
Dim pocet As Integer
Dim a(10)
Set ws1 = Worksheets("data")
Set ws2 = Worksheets("výsledok")
pocet = ws1.Cells(1, 2).Value ' počet čísel

' uloženie zadaných čísel
For i = 1 To 10
a(i) = ws1.Cells(i, 1).Value
Next i

ws2.Select
Cells.Clear
Cells(1, 1).Value = a(1)
For i = 1 To pocet - 1
fac = u_fact(i) ' dlžka tabuľky
' skopírovanie tabuľky postupne n-krát
For j = 1 To i * fac Step fac
Range(Cells(1, 1), Cells(fac, i)).Copy
Range(Cells(j + fac, 1), Cells(j + 2 * fac, i)).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Next j
' vyplnenie posledného stlpca
For k = 1 To (i + 1) * fac Step fac
indik = (k - 1) \ fac + 1
For j = k To fac + k - 1
Cells(j, i + 1).Value = a(i + 1)

' presunutie stlpcov doprava
If indik < i + 1 Then
For l = i + 1 To indik Step -1
If l > indik Then
Cells(j, l).Value = Cells(j, l - 1).Value
Else
Cells(j, l).Value = a(i + 1)
End If
Next l
End If
Next j
Next k
Next i
Range("A1").Select
End Sub


Function u_fact(number As Integer)

u_fact = 1
For i = 1 To Int(number)
u_fact = u_fact * i
Next i

End Function
marjankaj
03.08.15,06:46
Hlavne že tu máme databázu otázok.:eek:
[url]http://www.porada.sk/t176781-vypocet-kombinacii-v-exceli.html[/urlTeraz pozerám, že to skopíroval odtiaľ.
Tak toto budeš ťažko upravovať. Makro bolo na permutácie a ty chceš kombinácie? Tak to bude úplne inak.
Ak ti nezáleží na poradí, tak kombinácia bude z prvkov 1,2,3,4 iba jedna a to 1,2,3,4