老师上课Vb随机点名程序,用excel读入学生名单
我为你写了一个自定义函数,请试下。代码如下:
Function Myrand(PartAre As Range, Part As String) As String
'PartAre 部门所在区域;
'Part 你期望抽查的部门,可以是字符,也可以是单元格
'eg: =Myrand($A$1:$A$8,"ENG") 或者 =Myrand($A$1:$A$8,A3)
partnum = 0
For Each m In PartAre
tmpStr = m.Text
If UCase(tmpStr) = UCase(Part) Then partnum = partnum + 1
Next m
randnum = Int(partnum * Rnd()) + 1
partnum = 0
For Each m In PartAre
tmpStr = m.Text
If UCase(tmpStr) = UCase(Part) Then
partnum = partnum + 1
If partnum = randnum Then Exit For
End If
Next m
Myrand = Cells(m.Row(), m.Column() + 1).Text
End Function
用法:
部门在A1~A8,人员在B1~B8(函数自动从部门后一列取人员),则在其他单元格中输入公式:
=Myrand($A$1:$A$8,"ENG") 或者 =Myrand($A$1:$A$8,A3)
注:A3中的所填写的内容为 ENG
不清楚可以Hi我。
GoodLuck!
可以这样来实现:
假设,名字在A1:A10中
利用公式直接引用单元的的内容(直接引用公式和随机函数公式)
=INDIRECT("$A"&RANDBETWEEN(1,10))
另:如果名字在B列就将"$A"改成"$B"
这个程序的重点就是读Excel表格,如果能读出来人员名单,下面就用随机数就很好写了
我测试代码
Dim ExcelApp As Object
Dim ExcelBook As Object
Dim ExcelSheet As Object
Dim n As Long
Set ExcelApp = CreateObject("Excel.Application")
Set ExcelBook = ExcelApp.Workbooks.Open("c:\0.xls")
Set ExcelSheet = ExcelBook.Worksheets(1)
n = 1
Do
List1.AddItem ExcelSheet.Range("D" & n).Value
n = n + 1
Loop Until ExcelSheet.Range("D" & n).Value = ""
Set ExcelSheet = Nothing
Set ExcelBook = Nothing
Set ExcelApp = Nothing
我的人员名称是在D列,同理,如果还想要其它列(学号),在后后加上就行了
为了操作excel,还引用了"Microsoft Excel 11.0 Object Library"对像
搜索excel抽奖有很多例子的,虽然人家抽出来的都是令人兴奋的名单,你抽出来是令人悲伤的名单
18737699352:如何使用vba制作随机点名小程序?
禹修威
:答:1、打开文件,进入【开发工具】点击【visual basic】。2、打开需要点名的所在sheet表,并输入代码,并单击【保存】。3、弹出另存为,设置保存类型,将文件保存为xlsm。4、在【开发工具】-【插入】一个按钮。5、在弹出的“指定宏,选择sheet”点名,并点击【确定】。6、更改控件上的名称“点名,并设置...
18737699352:老师上课Vb随机点名程序,用excel读入学生名单
禹修威
:答:这个程序的重点就是读Excel表格,如果能读出来人员名单,下面就用随机数就很好写了 我测试代码 Dim ExcelApp As Object Dim ExcelBook As Object Dim ExcelSheet As Object Dim n As Long Set ExcelApp = CreateObject("Excel.Application")Set ExcelBook = ExcelApp.Workbooks.Open("c:\0.xls")Se...
18737699352:如何在excel表格里制作随机点名小程序?
禹修威
:答:1.创建名单:在 Excel 中的一个列中输入所有可能被点到的名字。2.生成随机数:在另一个单元格中使用 Excel 的随机函数来生成一个随机数。例如,可以使用 =RAND() 函数。3.将随机数与名单关联:使用 Excel 的函数来将随机数与名单关联起来,以确定被点到的名字。你可以使用 INDEX 和 RANDBETWEEN ...
18737699352:Excel表格怎么制作一个随机点名程序?
禹修威
:答:1、在A列单元格里输入同学们的姓名,我这里为方便用百度+数字来表示 2、在另外的单元格先输入函数 =INDIRECT("a")3、继续输入完整的函数,即“=INDIRECT("a"RANDBETWEEN(2,16))”表示从A列第2-16单元格里随机选择一个单元格数据 4、选中A列 5、点击右键,点击隐藏,将名...
18737699352:在EXCEL中如何用VB做一个随机点名系统
禹修威
:答:Function Myrand(PartAre As Range, Part As String) As String 'PartAre 部门所在区域;'Part 你期望抽查的部门,可以是字符,也可以是单元格 'eg: =Myrand($A$1:$A$8,"ENG") 或者 =Myrand($A$1:$A$8,A3)partnum = 0 For Each m In PartAre tmpStr = m.Text If UCase(tmpStr...
18737699352:vb程序设计 学员随机点名软件的实现;(假定已有一个excel学员名单)学员...
禹修威
:答:你需要使用数据控件(ADO)读入Excel数据表中的内容并填入到列表中,然后产生一个随机数(范围为列表数),接着将对应的名字及学号显示进行点名。成功的可以加入标记后再写进文件。希望对你有用。
18737699352:EXCEL如何实现指定学号与姓名的随机点名?
禹修威
:答:1、在你的学号列前面插入一空列(假设为A列),在A1输入1,按住Ctrl+鼠标左键往下拉,形成一个与行号相同的序列数。2、在D1单元输入如下公式,生成一个随机数:=randbetween(1,50)注:假定一个班为50人,可根据你的实际情况改变。3、在E1单元格输入公式:=IF($D1="","",VLOOKUP($D1,$A:...
18737699352:vb随机点名1
禹修威
:答:新建工程一个Text1文本框一个Command1按钮一个Timer1定时器源代码如下:(VB6.0测试正常) Option ExplicitDim bRun As Boolean Dim strName(1 To 5) As String Dim iNum As IntegerPrivate Sub Form_Load()bRun = False Text1.Text = ""Command1.Caption = "开始"Timer1.Enabled = False Timer...
18737699352:用vb编写了这个随机抽取人名的程序,要求一个文本框,一个按钮
禹修威
:答:Dim xm, n As IntegerPrivate Sub Command1_Click() Static k k = k + 1 If k Mod 2 = 1 Then Timer1.Interval = 20 Command1.Caption = "停" Else Timer1.Interval = 0 Command1.Caption = "开始" End IfEnd SubPrivate Sub Form_Load() xm = Array("张三...
18737699352:跪求!高分赏!VB随机点名代码
禹修威
:答:' 随机寻找 Randomize ' 读取提示文件并且随机显示一条提示。If LoadTips(TIP_FILE) = False Then Text1.Text = "文件 " & TIP_FILE & " 没有被找到吗? " & vbCrLf & vbCrLf & _"创建文本文件名为 " & TIP_FILE & " 使用记事本每行写一条名字。 " & _"然后将它存放在应用程序所在...