EXCEL 如何制作瀑布图,对于有些数据做图表非常适合用瀑布图,比如生活开支......
Excel:数学题生成器
随手做个数学题生成器,让她可以刷一天数学题,上面符号可以设置 -*/随便,只要是电脑认的计算符号就可以,如果孩子想只能做加减法,可以根据自己情况,比如加法想多一些,就写三个 一个减法,可以设定最大的随机数,比如想设置个位的就写9。
方法/步骤
按照我这个格式,先画框架出来
设置自定义格式
设置自定义格式:"很棒,你答对了";;"继续努力,不对哦!"
这里简单解释下看中间分号,把这个内容分成三部分,第一个表示正数的时候显示内容,第二个负数,第三个部分表示0时候
我会用程序判断回答的对不对,对的就会写个1,错误写0,就对应显示结果
做个条件格式
先设置图标
然后去条件格式里改一下,百分比改为数值
代码部分直接给代码
这个代码是新建模块复制的
Dim startime As Date '计时程序的公共变量
Sub suiji() '随机程序
Dim i As Long
Dim sj1 As Integer, sj2 As Integer, ssFH As String
Range("c6:g15").ClearContents '清空内容
For i = 6 To 15
'利用内置函数获得2个随机数
sj1 = Application.RandBetween(1, Range("g3").Value)
sj2 = Application.RandBetween(1, Range("g3").Value)
'如果是减号的时候,为了照顾孩子,不会做负数,随机1不能小于随机2
ssFH = Cells(3, Application.RandBetween(2, 5)).Value
If ssFH = "-" Then
If sj1 sj2 Then '如果小的时候,就重新随机直到大于等于的时候
Do While sj1 sj2
sj1 = Application.RandBetween(1, Range("g3").Value)
sj2 = Application.RandBetween(1, Range("g3").Value)
Loop
End If
End If
Cells(i, "C").Value = sj1 & ssFH & sj2
Next
Range("d6").Select '开始答题的地方
End Sub
Sub jishigongneng()
Dim sp As Shape
Range("d6").Select '开始答题的地方
'定义把点击按钮定义一个变量
Set sp = ActiveSheet.Shapes(Application.Caller)
'判断按钮的显示内容,是开始答题的时候
If sp.DrawingObject.Text = "开始答题" Then
Range("i6").ClearContents '清空计时
'名字改为结束答题
sp.DrawingObject.Text = "结束答题"
Call start '调用开始计时程序
Else '按钮显示的内容不是开始答题的时候
'名字改为开始答题
sp.DrawingObject.Text = "开始答题"
'调用结束计时程序
Call killontime
End If
End Sub
'开始计时程序
Private Sub start()
'公共变量等于现在的时间 1秒
startime = Now() TimeValue("00:00:01")
'到实际执行jishi程序
Application.OnTime startime, "jishi"
End Sub
'计时程序,每秒钟写时间计入i6单元格
Private Sub jishi()
'自己不断的加一秒钟时间
Range("i6").Value = Range("i6").Value TimeValue("00:00:01")
Call start '又回头调用start程序,形成一个反复调用的程序
End Sub
'结束计时程序
Private Sub killontime()
Application.OnTime startime, "jishi", , False
使用说明:
1,按快捷键ALT F11打开vbe编辑界面
2,点击右键插入
复制上面代码,到这个模块里
下面这个代码是在工作表所在地方复制
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
'判断如果是多个单元格改变,就退出
If Target.Rows.Count > 1 Then Exit Sub
If Target.Columns.Count > 1 Then Exit Sub
'如果行号小于等于5的时候退出
If Target.Row = 5 Then Exit Sub
'如果列号不等于4的时候退出
If Target.Column > 4 Then Exit Sub
'关闭事件,防止反复调用
Application.EnableEvents = False
On Error GoTo Flag '如果发生错误调转到Flag标签处
If Target.Value > "" Then '判断下写的值不能是空白
'如果结果是正确的时候
If Evaluate(Target.Offset(0, -1).Value) = Target.Value Then
Target.Offset(0, 1).Value = 1 '右边单元格写1
Else '错误的时候就写0
Target.Offset(0, 1).Value = 0
End If
Else '如果结果是空白的时候
'右边就显示空白
Target.Offset(0, 1).Value = ""
End If
Flag: '调转的标签处
'重新打开事件
Application.EnableEvents = True
End Sub
点击电脑标签页,右键,查看代码
把上面代码复制到这里就好了
个人建议----我们这里用到了几个知识点
1,条件格式的使用
2,自定义格式
3,vba编程,如果不会,起码要会自己复制黏贴
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!