Excel no repeat sampling

Sub NoRepeatSampling() 'define macro name
Dim TempArr1(@) As Integer, TempArr2(0 To @, 1 To 1) As Integer '@ here means total overall number N
Dim RndNumber As Integer, i As Integer
Randomize (Timer)
For i = 0 To @
TempArr1(i) = i
Next i
For i = @ To 0 Step -1
RndNumber = Int(i * Rnd)
TempArr2(@ - i, 1) = TempArr1(RndNumber) + 1
TempArr1(RndNumber) = TempArr1(i)
Next i
Range("A1:An").Value = TempArr2 'Set sampling size as n, and list them in a row from 1 to n
End Sub


Replace @ with your overall number, such as shortcut key Ctrl+H in Notepad. Then replace n with your sampling size number. Press F5 and then it generates randomized number from cell 1 to cell n in a column.

This is a workable way of randomized control by using Excel or spreadsheet, for quality control in health record sampling.

0 评论:

張貼留言

top