Is niet veel mis mee hoor.quote:Op zaterdag 11 april 2009 11:15 schreef maniack28 het volgende:
2003
Maar mijn probleem is dan natuurlijk dat dat unieke gekozen nummer opnieuw gekozen zal worden voordat alle nummers 'aan de beurt' zijn geweest. Weet iemand misschien hoe dit opgelost kan worden?quote:=RANDBETWEEN(1,1618)
1 2 3 4 5 6 7 8 9 | Cells.Clear For i = 1 To 70 Cells(1, i).Value = "Groep " & i Next i End Sub |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | Dim max_index, temp, a, b, c, i, j, k As Integer Dim arrValues(1 To 1618) As Variant a = 1 b = 1 c = 1 i = 1 j = 0 k = 1 max_index = 1618 For k = 1 To 1618 arrValues(k) = k Next k For i = 1 To max_index j = Int((max_index * rnd) + 1) temp = arrValues arrValues = arrValues(j) arrValues(j) = temp Next i For a = 1 To 1618 b = b + 1 If a Mod 23 = 0 Then c = c + 1 b = 2 End If Cells(b, c).Value = arrValues(a) Next a End Sub |
1 2 3 | arrValues(k) = k Next k |
1 2 3 4 5 6 | j = Int((max_index * rnd) + 1) temp = arrValuesi arrValuesi = arrValues(j) arrValues(j) = temp Next i |
1 2 3 4 5 6 7 8 9 | b = b + 1 If a Mod 23 = 0 Then c = c + 1 b = 2 End If Cells(b, c).Value = arrValues(a) Next a |
Bedankt.quote:Op maandag 13 april 2009 13:26 schreef DaFan het volgende:
Zo maar even...
Ik heb eerst een macro gemaakt (aan een button gehangen) die 70 groepen maakt en de cellen leegt. Was even handig voor mezelf maar ik zet hem er maar even bij:
[ code verwijderd ]
Daarna de hoofdcode aan een andere button.
[ code verwijderd ]
Nu heb ik 70 groepen van 23 nummers, en nog eens 9 losse nummers (1618 is niet deelbaar door 23 )
In mijn volgende post zal ik uitleggen wat de macro doet.
Mooi gemaaktquote:Op maandag 13 april 2009 13:26 schreef DaFan het volgende:
Zo maar even...
Ik heb eerst een macro gemaakt (aan een button gehangen) die 70 groepen maakt en de cellen leegt. Was even handig voor mezelf maar ik zet hem er maar even bij:
[ code verwijderd ]
Daarna de hoofdcode aan een andere button.
[ code verwijderd ]
Nu heb ik 70 groepen van 23 nummers, en nog eens 9 losse nummers (1618 is niet deelbaar door 23 )
In mijn volgende post zal ik uitleggen wat de macro doet.
Dat doet deze regel:quote:Op maandag 13 april 2009 19:13 schreef Joooo-pi het volgende:
[..]
Mooi gemaakt
moet de term "Randomize" nog ergens tussen?
yep, ik heb het gelezen. Maar ik dacht dat je vooraf de random generator reset met "Randomize".quote:Op maandag 13 april 2009 19:40 schreef DaFan het volgende:
[..]
Dat doet deze regel:
j = Int((max_index * rnd) + 1)
rnd = random getal tussen 0 en 1. Max_index is het hoogste getal, en Int rond het getal af.
1 2 3 4 | TextBox1.Text = Sheet3.range("L2:T10").Find(What:=ComboBox1.Value).Offset(0, 1) End Sub |
Beste mensen,quote:Op maandag 6 april 2009 20:03 schreef Joooo-pi het volgende:
[..]
Kijk deze plaatjes:
Blad1:
Klik
Blad2:
Klik
Achter die ene knop staat de volgende code:
[ code verwijderd ]
Aan het einde van de maand klik je op die knop en je veld op blad 1 wordt geleegd en de gegevens gaan naar blad 2.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | col = 0 i = 1 Do If Worksheets("Blad2").Cells(2, i).Value = "0" Then col = i i = i + 1 Loop Until Worksheets("Blad2").Cells(2, i).Value = "" If col = 0 Or col > 26 Then MsgBox "Maand niet gevonden!" & col Exit Sub End If Worksheets("Blad1").Range("N2:N13").Select Selection.Copy Worksheets("Blad2").Select Worksheets("Blad2").Cells(2, col).Select Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Sheets(1).Select 'Range("B3:M31").Clear Range("A1").Select MsgBox "overzetten klaar" End Sub |
Dat werkt gedeeltelijk: hij kopieert het nu wel naar de kolom waar de waarde 0 staat in cel 2, maar hij doet dat naar cel Y2. De eerste cel waar de waarde 0 staat is echter(op dit moment) i2. Als ik de knop meerder malen achter elkaar indruk worden achtereenvolgens de kolommen Y, W, U,S (in die volgorde) gevuld, in plaats van de kolommen i, K, M etc. Het lijkt alsof de loop achteraan begint met zoeken, maar ik zie niet waarom en ook niet of ik de zoekvolgorde kan omdraaien. Het zal wel logisch zijn, maar voor mij even niet......quote:Op dinsdag 14 april 2009 15:15 schreef DaFan het volgende:
Then col = i - 1
Gewoon ergens 1 vanaf trekken is altijd lekker makkelijk
1 |
Dat vergeet ik inderdaad altijd Maximaal 7 met alles ouder dan Excel2007, toch?quote:Op dinsdag 14 april 2009 17:48 schreef DaFan het volgende:
Kan je ook beter met een VLOOKUP doen. Zal zo even uitleggen hoe, ga eerst ff hapje eten.
(IF werkt prima als je maar 2 waardes hebt, dan is het niet de moeite, maar als je er 100 hebt...tja).
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |