ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] 按班级求总分

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-2-22 17:24 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 yangqianming 于 2024-2-23 08:32 编辑

我写了一个语文总分,但是其它几个学科的不知怎么快速弄进去,请老师们相助,谢谢!

按班求总分.rar (42.8 KB, 下载次数: 5)

TA的精华主题

TA的得分主题

发表于 2024-2-22 18:11 | 显示全部楼层
按班求总分.rar (49.7 KB, 下载次数: 6)

评分

3

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-22 19:10 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

谢谢您!我用的是wps运行不了。

TA的精华主题

TA的得分主题

发表于 2024-2-22 19:11 | 显示全部楼层
yangqianming 发表于 2024-2-22 19:10
谢谢您!我用的是wps运行不了。

哦,稍后无人回复,我可重写,你标注的是365嘛

TA的精华主题

TA的得分主题

发表于 2024-2-22 19:36 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
yangqianming 发表于 2024-2-22 19:10
谢谢您!我用的是wps运行不了。
  1. Sub test2()
  2.   
  3.   Dim data, Dict As Object
  4.   Dim i As Long, j As Long, sKey As String
  5.   Dim posRow As Long, rowSize As Long, colSize As Long
  6.   
  7.   Set Dict = CreateObject("Scripting.Dictionary")
  8.   data = Sheet1.Range("A1").CurrentRegion
  9.   
  10.   rowSize = 1
  11.   colSize = 1
  12.   data(rowSize, colSize) = data(1, 2)
  13.   
  14.   For j = 4 To UBound(data, 2)
  15.     colSize = colSize + 1
  16.     data(rowSize, colSize) = data(1, j)
  17.   Next
  18.   
  19.   For i = 2 To UBound(data)
  20.     sKey = data(i, 2)
  21.     If Dict.Exists(sKey) Then
  22.       posRow = Dict(sKey)
  23.       For j = 4 To UBound(data, 2)
  24.         data(posRow, j - 2) = data(posRow, j - 2) + Val(data(i, j))
  25.       Next
  26.     Else
  27.       rowSize = rowSize + 1
  28.       data(rowSize, 1) = sKey
  29.       For j = 4 To UBound(data, 2)
  30.         data(rowSize, j - 2) = Val(data(i, j))
  31.       Next
  32.       Dict.Add sKey, rowSize
  33.     End If
  34.    
  35.   Next
  36.   
  37.   With Sheet2.Range("A1")
  38.     .CurrentRegion.Clear
  39.     With .Resize(rowSize, colSize)
  40.       .Borders.LineStyle = xlContinuous
  41.       .HorizontalAlignment = xlCenter
  42.       .Rows(1).Font.Bold = True
  43.       .Value = data
  44.     End With
  45.   End With
  46.   
  47.   Set Dict = Nothing
  48.   Beep
  49. End Sub
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-22 19:39 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
fzxba 发表于 2024-2-22 19:11
哦,稍后无人回复,我可重写,你标注的是365嘛

我里面写的是js宏,只实现了一个语文的,其它不会弄了,感谢!

TA的精华主题

TA的得分主题

发表于 2024-2-22 19:43 | 显示全部楼层
yangqianming 发表于 2024-2-22 19:39
我里面写的是js宏,只实现了一个语文的,其它不会弄了,感谢!

jsa 我目前搞不定,用数组字典写了一下,在审核中

TA的精华主题

TA的得分主题

发表于 2024-2-22 19:43 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
1.jpg
在你的代码里改的

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-2-22 20:04 | 显示全部楼层
Again123456 发表于 2024-2-22 19:43
在你的代码里改的

太好了!我就在想怎么才能把各个学科一次放入value,您用一个数组装入就解决了,值得学习,不过我得好好琢磨才能明白,感谢!

TA的精华主题

TA的得分主题

发表于 2024-2-22 20:12 | 显示全部楼层
本帖最后由 Again123456 于 2024-2-22 20:23 编辑

按班求总分.7z (43.79 KB, 下载次数: 10)
yangqianming 发表于 2024-2-22 20:04
太好了!我就在想怎么才能把各个学科一次放入value,您用一个数组装入就解决了,值得学习,不过我得好好 ...

建议练习一下obj用法,再试试reduce,增加两个方法
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-4 01:15 , Processed in 0.050685 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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