ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

自己做的一个小学生计算表,求阅卷VBA代码

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-2-23 12:34 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
病毒肆虐,闲赋在家写了一个小学生加减乘除练习表,大部分已经完成,就差一键阅卷
本人VBA能力有限求大神帮助
表一内已经完成出题部分,题目刷新部分 用了公式及VBA
表二是表一的计算部分,已经计算出结果
目前就是需要两表结果部分进行比对 比对部分原来我是用公式写的 由于表格关闭了 自动计算功能 所以公式不能及时刷新 不能显示 求VBA手动效果
C4 的公式为:=IF(B4="","",IF(B4=Sheet2!C4,"O",IF(B4<>Sheet2!C4,"X")))
表1的B4 结果与表2的c4结果一样 进行比对

加减乘除计算.zip

42.38 KB, 下载次数: 31

TA的精华主题

TA的得分主题

发表于 2020-2-23 13:40 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 syj2004hg 于 2020-2-23 13:46 编辑

Sub test()
    Application.Calculation = xlCalculationManual
    Dim i As Integer, j As Integer
    Dim arr1(1 To 20, 1 To 11), arr2(1 To 20, 1 To 11), ArrB(1 To 20, 1 To 11)
    For i = 1 To 20
        For j = 1 To 11
            arr1(i, j) = Sheet1.Cells(i + 3, j * 3 - 1)
            arr2(i, j) = Sheet2.Cells(i + 3, j * 3)
            ArrB(i, j) = IIf(arr1(i, j) = arr2(i, j), "○", "×")
            Sheet1.Cells(i + 3, 3 * j) = ArrB(i, j)
        Next j
    Next i
End Sub

TA的精华主题

TA的得分主题

发表于 2020-2-23 13:42 | 显示全部楼层
用公式生成随机数再做统计,还会存在你保存的时候会重新计算,然后统计的时候又不符合了,最好都用VBA或者复制张贴数值格式重生成和刷新题库

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-2-23 15:13 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
syj2004hg 发表于 2020-2-23 13:40
Sub test()
    Application.Calculation = xlCalculationManual
    Dim i As Integer, j As Integer

谢谢大神 很好用 已经可以了
想麻烦你给我追加一个功能
原来我在刷新按钮这里 宏是F9刷新键按一下 能帮我改进一下吗?
就是改成 F9刷新键按一下并且完成的作答都清空
谢谢

TA的精华主题

TA的得分主题

发表于 2020-2-23 16:02 | 显示全部楼层
diablosong 发表于 2020-2-23 15:13
谢谢大神 很好用 已经可以了
想麻烦你给我追加一个功能
原来我在刷新按钮这里 宏是F9刷新键按一下 能帮 ...

Dim i As Integer
    For i = 2 To 32 Step 3
        Cells(4, i).Resize(20, 1).Value = ""
    Next i
    Calculate

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-2-23 17:27 | 显示全部楼层
syj2004hg 发表于 2020-2-23 16:02
Dim i As Integer
    For i = 2 To 32 Step 3
        Cells(4, i).Resize(20, 1).Value = ""

非常感谢  这个能用了

TA的精华主题

TA的得分主题

发表于 2020-2-27 10:26 | 显示全部楼层
diablosong 发表于 2020-2-23 17:27
非常感谢  这个能用了

这个除法问题能解决吧,生成的除法有问题为
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

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

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

GMT+8, 2024-4-20 16:04 , Processed in 0.030698 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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