Witam!
http://forum.idg.pl/index.php?showtopic=74984&hl=
Z powyższej strony, "przywłaszczyłem" sobie taki oto kod:
Sub Posegreguj_nieco_lepiej() 'by Artik
With ActiveSheet
JakiLotek = .Range("A1").CurrentRegion.Rows.Count
lWierszy = .Range("A1").CurrentRegion.Columns.Count
ReDim myArr(1 To lWierszy, 1 To JakiLotek) 'tablica wszystkich losowań
myArr = .Range("A1").CurrentRegion.Value
Select Case JakiLotek 'poszukiwanie jaki to lotek
Case 2
k = 42
Case 6
k = 49
End Select
ReDim bigArr(1 To JakiLotek, 1 To k)
For i = 1 To JakiLotek 'tablica wypełniana według twojej potrzeby
For j = 1 To lWierszy
bigArr(i, myArr(i, j)) = myArr(i, j)
Next j
Next i
.Range(.Cells(1, 1), .Cells(k, lWierszy)) = bigArr
End With
End Sub
Skróciłem go maksymalnie, ile się tylko dało, aby kod wyglądał dla Was
czytelnie, i jak najprościej wyjaśnić Wam o co mi się rozchodzi.
Otóż: makro to rozkłada liczby, wg indeksów kolumn, np.
--A-B-
1-2-4
2-3-5
3----
Po wykonanej operacji powyższe dane wyjściowe wyglądają tak:
--A-B-C-D-E
1---2---4--
2-----3---5
3----------
Ja chciałbym jednak nieco inaczej, mianowicie:
--A-B-
1-2-3
2-4-5
3----
Po operacji, wygląda to, tak:
--A-B
1----
2-2--
3---3
4-4--
5---5
(oczywiście dane mogą wyglądać zupełnie inaczej, to powyżej, to tylko
przykład)
Liczba 2 została przypożądkowana do odpowiadającego jej wiersza "2", podobnie
na tej samej zasadzie pozostałe. (powyżej odwrotnie: liczba "2", przypięta do
drugiej w kolejności kolumny "B", itd, a więc w pierwszym przykładzie, dane
rozmieszczane horyzontalnie (poziomo), w drugim vertykalnie (pionowo).
I teraz najważniejsze: czy struktura tego makra pozwala na jego modyfikację,
aby to osiągnąć? Próbowałem to zrobić, ale nie wychodzi.
Podobny wątek na ten temat znajduje się poniżej, ale nikt nie potrafi pomóc:
http://www.vbamania.estrefa.pl/?go=forum&go2=zobacz&id_watek=1806
Z pozdrowieniami