作者:绿色风
分类:
时间:2022-08-18
浏览:192
楼主 皮皮1998 |
答题期限】2010年1月20日12:00时截稿(以回帖时间为准),欢迎大家踊跃参与。 【题目】 随机取数工作簿中有三个工作表: 1.号码列表工作表中的A列存放着抽出的数据,数据数量不限; 2.抽出号码工作表的a2:d52区域中用来存放抽出的号码,根据一等奖,二等奖,三等奖的不同,存放于相应的位置; 3.随机取号工作表是大家要完成的部分. 【要求】 1.用VBA编程来完成; 2.点按纽时,如果按纽显示为:开始,就运行程序,程序运行后,按纽显示停止,如果按纽显示停止,程序则不运行; 3.开始运行时:从号码列表中随机取出数据,如果组合框显示的是一等奖或二等奖时,就取出一位数,如果是三等奖时,取出五位数; 4.程序开始运行,计时器开始计时,从10秒开始直到0秒,计时器停止,程序结束,按纽显示开始; 5.随机数据显示在[A17]所在的黄颜色的区域,程序停止时数据存放于抽出号码工作表的相应位置; 6.取出的号码为不重值; 7.程序运行,禁止所有的键盘输入和鼠标输入 8.具体请参见动画. 【评分】 1、实现功能(如动画所示)可以获得3~4个技能分
随机取号.gif
随机取数.rar 随机取数.rar |
2楼 amulee |
抛砖
随机取数.rar |
3楼 棉花糖 |
禁用鼠标键盘方法没找到,已更新附件。
随机取数.rar |
4楼 皮皮1998 |
楼上两位老师都做出了动画的效果,我也做了,请两位老师指点:
- Private Sub CommandButton1_Click()
- Dim dall As New Dictionary, dfind As New Dictionary, drnd As New Dictionary
- Dim arrall, arrfind, arrrnd, str1 As String, n As Integer, m As Integer
- Application.Interactive = False
- arrall = Sheet3.Range("a2:a" & Sheet3.[a65536].End(xlUp).Row)
- arrfind = Sheet2.Range("b3:d52")
- With Sheet1
- str1 = .ComboBox1.Text
- n = Sheet2.Cells(65536, .ComboBox1.ListIndex + 2).End(xlUp).Row
- If .CommandButton1.Caption = "開始" Then
- .CommandButton1.Caption = "停止"
- Else
- .CommandButton1.Caption = "開始"
- GoTo 100
- End If
- For Each rng In arrfind
- If rng <> "" Then dfind(rng) = 1
- Next
- For Each rng In arrall
- If Not dfind.Exists(rng) Then
- dall.Add rng, ""
- End If
- Next
- [c3] = 10
- Do
- Start = Timer
- Do While Timer < Start + 1
- Randomize
- If str1 = "" Then
- GoTo 100
- Else
- m = IIf(str1 = "三等奖", 5, 1)
- Set drnd = Nothing
- Do
- drnd(dall.Keys(Int(dall.Count * Rnd))) = 1
- Loop Until drnd.Count = m
- [a17] = Join(drnd.Keys, ",")
- End If
- Loop
- DoEvents
- [c3] = [c3] - 1
- Loop Until [c3] = 0
- .CommandButton1.Caption = "開始"
- arrrnd = Split(.[a17].Value, ",")
- Sheet2.Cells(n + 1, .ComboBox1.ListIndex + 2).Resize(UBound(arrrnd) + 1, 1) = Application.Transpose(arrrnd)
- Set dall = Nothing
- Set dfind = Nothing
- End With
- 100:
- Application.Interactive = True
- End Sub
|
5楼 amulee |
学习了。竟然没看到下面这条。。 7.程序运行,禁止所有的键盘输入和鼠标输入 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一