ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 希望123456

[求助] 一个是我用VBA写的选择题,还有一个是别人用javascript写的选择题,我想用改进

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-5-21 17:00 | 显示全部楼层
純用工作表製作//適單選題//
Xl0000210.rar (11 KB, 下载次数: 19)

新增題目, 兩行複製再修改文字...不須再指定或另寫宏碼(共用一個程序)

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-21 19:41 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
micch 发表于 2023-5-21 16:13
写一个function,比如命名为   selectanswer(a),在4个选择对应的sub中写 call selectanswer(a)

给这 ...

我只会这么写,你说的在an(a)怎么写?我还有一个问题,就是假如我有100道题目,我如何批量生成这种选择题呢?用一个数组存储题目和选项,然后在代码里给optionbutton.caption属性赋值,但是题目如何复制呢,因为单元格的位置不固定。还有一个问题就是,每一个题目的答案都是变化的,难道我要每一个题目的答案都写一个Function吗,这样添加修改起来很麻烦的!
Function aw()
If OptionButton4 = True Then
   an = "回答正确"
Else
   an = "回答错误请重试"
End If
MsgBox an, vbOKOnly, "检查答案"

End Function
Private Sub OptionButton1_Click()
Call aw
End Sub

Private Sub OptionButton2_Click()
Call aw
End Sub

Private Sub OptionButton3_Click()
Call aw
End Sub

Private Sub OptionButton4_Click()
Call aw
End Sub


选择题.zip

25.31 KB, 下载次数: 7

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-22 10:24 | 显示全部楼层

可以帮我解决一下问题吗

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-22 10:29 | 显示全部楼层
micch 发表于 2023-5-20 23:58
html只是一个题,没有切换。看样式很简单,用表格做也行,不过表格容错避免误操作方面没有窗体方便。

可以解决一下我的需求吗?就是做一个模板,方便批量做选择题

TA的精华主题

TA的得分主题

发表于 2023-5-22 11:06 | 显示全部楼层
希望123456 发表于 2023-5-22 10:29
可以解决一下我的需求吗?就是做一个模板,方便批量做选择题

这东西关系到shapes,入了们就不难:

1、动态插入控价,用内部控件即可,外部控件反而搞复杂了;
2、使用 .OnAction 来统一调度应答模块;
3、本来应该是可以带参数的,但我没学会 .OnAction如何带参数,只能用了笨办法:遍历所有shape,不算精练的达到了目的;

副本选择题.rar

27.26 KB, 下载次数: 10

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-22 11:32 | 显示全部楼层
fanyoulin 发表于 2023-5-22 11:06
这东西关系到shapes,入了们就不难:

1、动态插入控价,用内部控件即可,外部控件反而搞复杂了;

我在文言一心上查了一段代码,无法实现批量修改caption属性。.


Private Sub CommandButton1_Click()
    Dim Opb() As OptionButton
    ReDim Opb(1 To 4) As OptionButton
      
    For i = 1 To 4
        Set Opb(i) = Me.Controls("OptionButton" & i)
    Next i
      
    For i = 1 To 4
        Opb(i).Caption = i
    Next i
End Sub


对于你那个SHAPE,我还没有学过

工作簿1.zip

22.04 KB, 下载次数: 3

TA的精华主题

TA的得分主题

发表于 2023-5-22 14:29 | 显示全部楼层
希望123456 发表于 2023-5-22 11:32
我在文言一心上查了一段代码,无法实现批量修改caption属性。.

这我就没法回答你了,shapes是excel所有的内置图形集合,有详细的资料可查,而controls是外部控件,找不到系统性的解释啊。

TA的精华主题

TA的得分主题

发表于 2023-5-22 14:38 | 显示全部楼层
上传个开心问答软件,希望有用。

kaixinwenda.rar

1.86 MB, 下载次数: 7

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-22 14:57 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
micch 发表于 2023-5-21 16:13
写一个function,比如命名为   selectanswer(a),在4个选择对应的sub中写 call selectanswer(a)

给这 ...

Function aw(a As Integer)
If OptionButton & a = True Then
   an = "回答正确"
Else
   an = "回答错误请重试"
End If
MsgBox an, vbOKOnly, "检查答案"
End Function

Private Sub OptionButton1_Click()
Call aw(4)
End Sub

Private Sub OptionButton2_Click()
Call aw(4)
End Sub

Private Sub OptionButton3_Click()
Call aw(4)
End Sub

Private Sub OptionButton4_Click()
Call aw(4)
End Sub
可以运行不对呀,到底怎么修改,才能让第四个答案点击,弹出正确对话框呢?


TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-22 16:21 | 显示全部楼层
lkqsmxw 发表于 2023-5-22 14:38
上传个开心问答软件,希望有用。

软件功能是很强大,但是不利于学习知识呀
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-16 07:33 , Processed in 0.049624 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表