首页 >>  正文

老师上课Vb随机点名程序,用excel读入学生名单

来源:www.zuowenzhai.com    作者:编辑   日期:2024-06-01
在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) = 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 ...

18737699352Excel表格怎么制作一个随机点名程序?
禹修威答: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...

18737699352vb程序设计 学员随机点名软件的实现;(假定已有一个excel学员名单)学员...
禹修威答:你需要使用数据控件(ADO)读入Excel数据表中的内容并填入到列表中,然后产生一个随机数(范围为列表数),接着将对应的名字及学号显示进行点名。成功的可以加入标记后再写进文件。希望对你有用。

18737699352EXCEL如何实现指定学号与姓名的随机点名?
禹修威答:1、在你的学号列前面插入一空列(假设为A列),在A1输入1,按住Ctrl+鼠标左键往下拉,形成一个与行号相同的序列数。2、在D1单元输入如下公式,生成一个随机数:=randbetween(1,50)注:假定一个班为50人,可根据你的实际情况改变。3、在E1单元格输入公式:=IF($D1="","",VLOOKUP($D1,$A:...

18737699352vb随机点名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 & " 使用记事本每行写一条名字。 " & _"然后将它存放在应用程序所在...


(编辑:邱程童)
联系方式:
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图
@ 作文摘要网