• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

steekproef

Status
Niet open voor verdere reacties.

nobody11

Gebruiker
Lid geworden
20 dec 2007
Berichten
552
hallo iedereen,

weet iemand hoe ik het volgende kan doen:

ik wil graag tussen een bepaalde startdatum en einddatum (bv: 1/12/1990 en 31/12/2009) door excel X (bv 300) willekeurige datums laten selecteren uit die range en plakken vanaf cel C10, ze mogen niet 2 keer geselecteerd worden ( met de "steekproef" functie in data > data analysis) kunnen ze meerdere keren voorkomen de data..

weet iemand hoe ik hier aan moet beginnen? het moet niet noodzakelijk vba zijn, maar ik denk dat dat het makkelijkste zal zijn?

het mogen ook X getallen zijn tussen 33801 tem 40116 bv, die kan ik nadien dan omzetten naar datums..

heb al geprobeerd met randbetween(33801, 40116), maar dan veranderen die telkens als je F9 duwt, en bovendien zijn er getallen die enkele malen terugkomen..
 
Laatst bewerkt:
hallo iedereen,

weet iemand hoe ik het volgende kan doen:

ik wil graag tussen een bepaalde startdatum en einddatum (bv: 1/12/1990 en 31/12/2009) door excel X (bv 300) willekeurige datums laten selecteren uit die range en plakken vanaf cel C10, ze mogen niet 2 keer geselecteerd worden ( met de "steekproef" functie in data > data analysis) kunnen ze meerdere keren voorkomen de data..

weet iemand hoe ik hier aan moet beginnen? het moet niet noodzakelijk vba zijn, maar ik denk dat dat het makkelijkste zal zijn?

het mogen ook X getallen zijn tussen 33801 tem 40116 bv, die kan ik nadien dan omzetten naar datums..

heb al geprobeerd met randbetween(33801, 40116), maar dan veranderen die telkens als je F9 duwt, en bovendien zijn er getallen die enkele malen terugkomen..


ik ben hier al op gestoten http://www.ozgrid.com/VBA/RandomNumbers.htm, maar nu zou ik graag nog al deze getallen splitsen.. iemand enig idee?
 
ik ben hier al op gestoten http://www.ozgrid.com/VBA/RandomNumbers.htm, maar nu zou ik graag nog al deze getallen splitsen.. iemand enig idee?


Code:
Sub generateRandomnumber()
Dim Bottom As Variant
Dim Top As Variant
Dim Quantity As Integer
Dim iArr As Variant
Dim i As Integer
Dim r As Integer
Dim temp As Integer
   
Bottom = 33801
Top = 40116
Quantity = [F4].Value

Range("B4527:B9052").ClearContents
Application.Volatile
    
ReDim iArr(Bottom To Top)
For i = Bottom To Top
    iArr(i) = i
Next i
    
For i = Top To Bottom + 1 Step -1
    r = Int(Rnd() * (i - Bottom + 1)) + Bottom
    temp = iArr(r)
    iArr(r) = iArr(i)
    iArr(i) = temp
Next i
    
For i = Bottom To Bottom + Quantity - 1
    Cells(i, 1) = iArr(i)
Next i
Range("B4527:B9052").Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
Range("A1").Select
End Sub

bij deze code geeft hij overflow.. iemand een idee waarom? ik heb de bottom en top nochtans als variant aangepast..
 
Laatst bewerkt:
heb de code werkende gekregen, nu zit ik nog met een probleempje.. ik wil in de code ene stukje toevoegen

Code:
Sub generateRandomdates()
Dim Bottom As Integer
Dim Top As Integer
Dim Quantity As Integer
Dim iArr As Variant
Dim i As Integer
Dim r As Integer
Dim temp As Integer
   
Bottom = 4527
Top = 9000
Quantity = [F4].Value

Range("A4527:A9000").ClearContents
Application.Volatile
    
ReDim iArr(Bottom To Top)
For i = Bottom To Top
    iArr(i) = i
Next i
    
For i = Top To Bottom + 1 Step -1
    r = Int(Rnd() * (i - Bottom + 1)) + Bottom
    temp = iArr(r)
    iArr(r) = iArr(i)
    iArr(i) = temp
Next i
    
For i = Bottom To Bottom + Quantity - 1
    Cells(i, 1) = iArr(i)
    [COLOR="Red"]Cells(i, 2).Value = Application.WorksheetFunction.VLookup(Cells(i, 1).Value, Range("$B$13:$C$4524"), 1, True)[/COLOR]    
    [COLOR="red"]dit stukje wil hij niet toevoegen.. ik wil graag in de 2de kolom dus telkens de formule VLOOKUP toevoegen.. iemand enig idee hoe ik dit kan combineren ?[/COLOR]
Next i
Range("A4527:A9000").Select
Selection.Sort Key1:=Range("A4527"), Order1:=xlAscending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
        DataOption1:=xlSortNormal
Range("A1").Select
End Sub
 
heb dit stukje er aan toegevoegd voor de geïnteresseerden:

Cells(i, 2).Value = Application.WorksheetFunction.VLookup(iArr(i), Range("$B$13:$C$4524"), 1, True)

en dit werkt :)

mss niet de mooiste methode.. maar al doende leert men, nietwaar :))
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan