首页 > Office专区 > Excel教程 >

Excel:数学题生成器

来源:互联网 2023-02-20 18:46:21 版权归原作者所有,如有侵权,请联系我们

随手做个数学题生成器,让她可以刷一天数学题,上面符号可以设置 -*/随便,只要是电脑认的计算符号就可以,如果孩子想只能做加减法,可以根据自己情况,比如加法想多一些,就写三个 一个减法,可以设定最大的随机数,比如想设置个位的就写9。bhk办公区 - 实用经验教程分享!

Excel:数学题生成器bhk办公区 - 实用经验教程分享!

方法/步骤

  • 1

    按照我这个格式,先画框架出来bhk办公区 - 实用经验教程分享!

    Excel:数学题生成器bhk办公区 - 实用经验教程分享!

  • 1此文章未经授权抓取自百度经验
  • 2

    设置自定义格式bhk办公区 - 实用经验教程分享!

    设置自定义格式:"很棒,你答对了";;"继续努力,不对哦!"bhk办公区 - 实用经验教程分享!

    这里简单解释下看中间分号,把这个内容分成三部分,第一个表示正数的时候显示内容,第二个负数,第三个部分表示0时候bhk办公区 - 实用经验教程分享!

    我会用程序判断回答的对不对,对的就会写个1,错误写0,就对应显示结果bhk办公区 - 实用经验教程分享!

    Excel:数学题生成器bhk办公区 - 实用经验教程分享!

  • 3

    做个条件格式bhk办公区 - 实用经验教程分享!

    先设置图标bhk办公区 - 实用经验教程分享!

    然后去条件格式里改一下,百分比改为数值bhk办公区 - 实用经验教程分享!

    Excel:数学题生成器bhk办公区 - 实用经验教程分享!

  • 4

    代码部分直接给代码bhk办公区 - 实用经验教程分享!

    这个代码是新建模块复制的bhk办公区 - 实用经验教程分享!

    Dim startime As Date '计时程序的公共变量bhk办公区 - 实用经验教程分享!

    Sub suiji() '随机程序bhk办公区 - 实用经验教程分享!

    Dim i As Longbhk办公区 - 实用经验教程分享!

    Dim sj1 As Integer, sj2 As Integer, ssFH As Stringbhk办公区 - 实用经验教程分享!

    Range("c6:g15").ClearContents '清空内容bhk办公区 - 实用经验教程分享!

    For i = 6 To 15bhk办公区 - 实用经验教程分享!

    '利用内置函数获得2个随机数bhk办公区 - 实用经验教程分享!

    sj1 = Application.RandBetween(1, Range("g3").Value)bhk办公区 - 实用经验教程分享!

    sj2 = Application.RandBetween(1, Range("g3").Value)bhk办公区 - 实用经验教程分享!

    '如果是减号的时候,为了照顾孩子,不会做负数,随机1不能小于随机2bhk办公区 - 实用经验教程分享!

    ssFH = Cells(3, Application.RandBetween(2, 5)).Valuebhk办公区 - 实用经验教程分享!

    If ssFH = "-" Thenbhk办公区 - 实用经验教程分享!

    If sj1 sj2 Then '如果小的时候,就重新随机直到大于等于的时候bhk办公区 - 实用经验教程分享!

    Do While sj1 sj2bhk办公区 - 实用经验教程分享!

    sj1 = Application.RandBetween(1, Range("g3").Value)bhk办公区 - 实用经验教程分享!

    sj2 = Application.RandBetween(1, Range("g3").Value)bhk办公区 - 实用经验教程分享!

    Loopbhk办公区 - 实用经验教程分享!

    End Ifbhk办公区 - 实用经验教程分享!

    End Ifbhk办公区 - 实用经验教程分享!

    Cells(i, "C").Value = sj1 & ssFH & sj2bhk办公区 - 实用经验教程分享!

    Nextbhk办公区 - 实用经验教程分享!

    Range("d6").Select '开始答题的地方bhk办公区 - 实用经验教程分享!

    End Subbhk办公区 - 实用经验教程分享!

    Sub jishigongneng()bhk办公区 - 实用经验教程分享!

    Dim sp As Shapebhk办公区 - 实用经验教程分享!

    bhk办公区 - 实用经验教程分享!

    Range("d6").Select '开始答题的地方bhk办公区 - 实用经验教程分享!

    '定义把点击按钮定义一个变量bhk办公区 - 实用经验教程分享!

    Set sp = ActiveSheet.Shapes(Application.Caller)bhk办公区 - 实用经验教程分享!

    '判断按钮的显示内容,是开始答题的时候bhk办公区 - 实用经验教程分享!

    If sp.DrawingObject.Text = "开始答题" Thenbhk办公区 - 实用经验教程分享!

    Range("i6").ClearContents '清空计时bhk办公区 - 实用经验教程分享!

    '名字改为结束答题bhk办公区 - 实用经验教程分享!

    sp.DrawingObject.Text = "结束答题"bhk办公区 - 实用经验教程分享!

    Call start '调用开始计时程序bhk办公区 - 实用经验教程分享!

    Else '按钮显示的内容不是开始答题的时候bhk办公区 - 实用经验教程分享!

    '名字改为开始答题bhk办公区 - 实用经验教程分享!

    sp.DrawingObject.Text = "开始答题"bhk办公区 - 实用经验教程分享!

    '调用结束计时程序bhk办公区 - 实用经验教程分享!

    Call killontimebhk办公区 - 实用经验教程分享!

    End Ifbhk办公区 - 实用经验教程分享!

    End Subbhk办公区 - 实用经验教程分享!

    '开始计时程序bhk办公区 - 实用经验教程分享!

    Private Sub start()bhk办公区 - 实用经验教程分享!

    '公共变量等于现在的时间 1秒bhk办公区 - 实用经验教程分享!

    startime = Now() TimeValue("00:00:01")bhk办公区 - 实用经验教程分享!

    '到实际执行jishi程序bhk办公区 - 实用经验教程分享!

    Application.OnTime startime, "jishi"bhk办公区 - 实用经验教程分享!

    End Subbhk办公区 - 实用经验教程分享!

    '计时程序,每秒钟写时间计入i6单元格bhk办公区 - 实用经验教程分享!

    Private Sub jishi()bhk办公区 - 实用经验教程分享!

    '自己不断的加一秒钟时间bhk办公区 - 实用经验教程分享!

    Range("i6").Value = Range("i6").Value TimeValue("00:00:01")bhk办公区 - 实用经验教程分享!

    Call start '又回头调用start程序,形成一个反复调用的程序bhk办公区 - 实用经验教程分享!

    End Subbhk办公区 - 实用经验教程分享!

    '结束计时程序bhk办公区 - 实用经验教程分享!

    Private Sub killontime()bhk办公区 - 实用经验教程分享!

    Application.OnTime startime, "jishi", , Falsebhk办公区 - 实用经验教程分享!

    Excel:数学题生成器bhk办公区 - 实用经验教程分享!

    Excel:数学题生成器bhk办公区 - 实用经验教程分享!

    Excel:数学题生成器bhk办公区 - 实用经验教程分享!

  • 5

    使用说明:bhk办公区 - 实用经验教程分享!

    1,按快捷键ALT F11打开vbe编辑界面bhk办公区 - 实用经验教程分享!

    2,点击右键插入bhk办公区 - 实用经验教程分享!

    Excel:数学题生成器bhk办公区 - 实用经验教程分享!

  • 6

    复制上面代码,到这个模块里bhk办公区 - 实用经验教程分享!

    Excel:数学题生成器bhk办公区 - 实用经验教程分享!

  • 7

    下面这个代码是在工作表所在地方复制bhk办公区 - 实用经验教程分享!

    Option Explicitbhk办公区 - 实用经验教程分享!

    Private Sub Worksheet_Change(ByVal Target As Range)bhk办公区 - 实用经验教程分享!

    '判断如果是多个单元格改变,就退出bhk办公区 - 实用经验教程分享!

    If Target.Rows.Count > 1 Then Exit Subbhk办公区 - 实用经验教程分享!

    If Target.Columns.Count > 1 Then Exit Subbhk办公区 - 实用经验教程分享!

    '如果行号小于等于5的时候退出bhk办公区 - 实用经验教程分享!

    If Target.Row = 5 Then Exit Subbhk办公区 - 实用经验教程分享!

    '如果列号不等于4的时候退出bhk办公区 - 实用经验教程分享!

    If Target.Column > 4 Then Exit Subbhk办公区 - 实用经验教程分享!

    '关闭事件,防止反复调用bhk办公区 - 实用经验教程分享!

    Application.EnableEvents = Falsebhk办公区 - 实用经验教程分享!

    On Error GoTo Flag '如果发生错误调转到Flag标签处bhk办公区 - 实用经验教程分享!

    If Target.Value > "" Then '判断下写的值不能是空白bhk办公区 - 实用经验教程分享!

    '如果结果是正确的时候bhk办公区 - 实用经验教程分享!

    If Evaluate(Target.Offset(0, -1).Value) = Target.Value Thenbhk办公区 - 实用经验教程分享!

    Target.Offset(0, 1).Value = 1 '右边单元格写1bhk办公区 - 实用经验教程分享!

    Else '错误的时候就写0bhk办公区 - 实用经验教程分享!

    Target.Offset(0, 1).Value = 0bhk办公区 - 实用经验教程分享!

    End Ifbhk办公区 - 实用经验教程分享!

    Else '如果结果是空白的时候bhk办公区 - 实用经验教程分享!

    '右边就显示空白bhk办公区 - 实用经验教程分享!

    Target.Offset(0, 1).Value = ""bhk办公区 - 实用经验教程分享!

    End Ifbhk办公区 - 实用经验教程分享!

    Flag: '调转的标签处bhk办公区 - 实用经验教程分享!

    '重新打开事件bhk办公区 - 实用经验教程分享!

    Application.EnableEvents = Truebhk办公区 - 实用经验教程分享!

    End Subbhk办公区 - 实用经验教程分享!

    Excel:数学题生成器bhk办公区 - 实用经验教程分享!

  • 8

    点击电脑标签页,右键,查看代码bhk办公区 - 实用经验教程分享!

    Excel:数学题生成器bhk办公区 - 实用经验教程分享!

  • 9

    把上面代码复制到这里就好了bhk办公区 - 实用经验教程分享!

    Excel:数学题生成器bhk办公区 - 实用经验教程分享!

  • 10

    个人建议----我们这里用到了几个知识点bhk办公区 - 实用经验教程分享!

    1,条件格式的使用bhk办公区 - 实用经验教程分享!

    2,自定义格式bhk办公区 - 实用经验教程分享!

    3,vba编程,如果不会,起码要会自己复制黏贴bhk办公区 - 实用经验教程分享!

    Excel:数学题生成器bhk办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!bhk办公区 - 实用经验教程分享!


    标签: excel数学成器

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号