重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
0、前提条件:有一个数字列表,或者数字段范围(1~100);
10多年建站经验, 网站设计、成都网站建设客户的见证与正确选择。创新互联提供完善的营销型网页建站明细报价表。后期开发更加便捷高效,我们致力于追求更美、更快、更规范。
1、Randomize '初始化随即函数;
2、用列表或者数组存放待选数据,比如长度为60;
3、利用随机函数抽取数字对应的数据 num=Rnd*60,Ret_Value=List(num),将选取结果存入结果单元;
4、然后从列表或者数组中去掉这个数据,(避免重复选中);
5、然后再运行3;
6、直到满意为止。
Dim array1() As String
Dim array2() As Boolean
Dim i As Integer
Dim j As Integer
Dim str1 As String = "a,c,c,c,a,b,c,d,f,eee,eee"
array1 = Split(str1, ",")
str1 = ""
ReDim array2(UBound(array1))
For i = 0 To UBound(array1)
array2(i) = False
Next
For i = 0 To UBound(array1) - 1
If array2(i) = False Then
For j = i + 1 To UBound(array1)
If array1(i) = array1(j) And array2(j) = False Then
array2(j) = True
End If
Next j
End If
Next i
For i = 0 To UBound(array1)
If array2(i) = False Then
str1 = str1 array1(i) ","
End If
Next i
If str1 "" Then
str1 = Strings.Left(str1, Len(str1) - 1)
End If
简单。在程序里设置一个数组变量,成员不定,每生成一个随机数就保存在数组元素里。
在程序末尾加一行if判断语句,如果新生成的数等于某个数组元素,则重新生成随机数;否则放行,直接输出。
比如数组a。里面有5个值,其中有3个是重复的?
如果这样的话,很好办哦。
新建一个数组b,然后遍历要去除的数组a,
从a中把每一个都取出来,和新建的b里面的去比,如果有相同的,则不放入b,
否则就放入数组b,直到循环结束。
Private Sub Text1_Change()
Private Sub Text2_Change()
两个事件中 同时判断两个文本框是否为初值(或者写成一个sub子过程 在事件中调用也可以),如果符合条件,就禁用增加按钮 ,否则就解封