ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1044|回复: 4

[分享] 每日烧脑练习题(宏)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-2-19 08:54 | 显示全部楼层 |阅读模式
本帖最后由 413191246se 于 2021-2-28 23:16 编辑

* 功能:防止遗忘《社保卡》密码及老年痴呆,锻炼脑力,增强智力。
* 原由:去年办了《社保卡》,费劲想了一个密码,起初经常在《3D图画》程序中复写密码。然而,最近未坚持下来。最近,想到如此异常重要的密码竟然快忘了,非常不适,遂做此宏。
* 感谢:非常感谢 sylun 老师 辛苦编写了本宏的随机出题代码(我查找网络好几天,也不知道怎么随机出题),这样,广大坛友可以凭此代码自行扩充宏中的 arr 数组内容,编制自己的练习题(在练习时,可以敲小键盘的 Enter回车键;不想练习时按“否”即可)——请注意:如果是 Win10 等 64 位系统,请将代码复制到 Word 中的空白文档中,再全选,剪切,在 VBE 中粘贴即可;否则,汉字可能会变成乱码。
  1. Sub aaaa每日烧脑练习题()
  2. 'code by sylun
  3.     Dim arr, d, i&, n%
  4.     arr = Array("你的名字叫什么?", "你的出生年月是多少?", "你今年多大了?", _
  5.         "你的社保卡密码是多少?", "你家的联系电话是多少?", "你的手机号码是多少?", _
  6.         "你的身份证号码是多少?", "你的家庭住址是哪里?", _
  7.         "你的父亲叫什么名字?多大了?", "你的母亲叫什么名字?多大了?")
  8.     Set d = CreateObject("Scripting.Dictionary")
  9.     Do
  10.         Randomize
  11. 100     n = Int(Rnd * (UBound(arr) + 1))
  12.         If d.Exists(n) = True Then GoTo 100 Else d.Add n, arr(n)
  13.         If MsgBox(n + 1 & "#: " & arr(n) & vbCr & vbCr & "——是否继续?", 4 + 64, "每日烧脑练习题") = vbNo Then End
  14.         i = i + 1
  15.     Loop Until i = UBound(arr) + 1
  16.     MsgBox Join(d.items, vbCrLf), vbInformation
  17. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2021-2-26 13:52 | 显示全部楼层
围观,同时学习下,楼主烧脑防痴呆的创意还是不错的

TA的精华主题

TA的得分主题

发表于 2021-2-27 22:13 | 显示全部楼层
可试试如下修改:
  1. Sub test()
  2.     Dim arr, d, i&, n%
  3.     arr = Array("你的名字叫什么?", "你今年多大了?", "你的社保卡密码是多少?(提示:6位数字!不要说出来!默念即可。)")
  4.     Set d = CreateObject("Scripting.Dictionary")
  5.     Do
  6.         Randomize
  7. 100     n = Int(Rnd * (UBound(arr) + 1))
  8.         If d.Exists(n) = True Then GoTo 100 Else d.Add n, arr(n)
  9.         If MsgBox(n + 1 & "#: " & arr(n) & vbCr & vbCr & "——是否继续?", 4 + 64, "每日烧脑练习题") = vbNo Then End
  10.         i = i + 1
  11.     Loop Until i = UBound(arr) + 1
  12.     MsgBox Join(d.items, vbCrLf), vbInformation
  13. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-2-28 03:10 | 显示全部楼层
谢谢老师!问题解决!运行良好!非常高兴!我已将 3 条词条扩充为 10 条。请老师注意休息!新年快乐!

TA的精华主题

TA的得分主题

 楼主| 发表于 2021-2-28 23:19 | 显示全部楼层
* 重新更新了一下词条,使 10 条词条更加有意义!
* 各位如果有需要,可以自行扩充词条,修改 arr 数组即可。
* 如果将此宏宏名放在 AutoExec 自动宏中,则每次启动 Word 即可自动出题。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-4-19 16:41 , Processed in 0.041369 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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