ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 求助!想将明细表中的数据整理成汇总表样式

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-6-18 16:42 | 显示全部楼层

JS代码这么少的?感觉JS更简单。

TA的精华主题

TA的得分主题

发表于 2024-6-18 16:50 | 显示全部楼层
ykcbf1100 发表于 2024-6-18 16:42
JS代码这么少的?感觉JS更简单。

因为JS数组的方法很多,比VBA强太多了,但是代码少,只是写代码的效率高,运行的效率并没有胜过VBA,VBA在读写单元格的速度上,优于JS,但也只是快一点点,其他的方面,差别不大

TA的精华主题

TA的得分主题

发表于 2024-6-18 16:50 | 显示全部楼层
LIUZHU 发表于 2024-6-18 16:02
映射表很精髓,确实有必要做,否则写VBA代码会累死

请教有什么好的JS学习教程不,我也想学JS了。

TA的精华主题

TA的得分主题

发表于 2024-6-18 16:51 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
心的启点 发表于 2024-6-18 16:50
请教有什么好的JS学习教程不,我也想学JS了。

我是从“我要自学网”上学习曾贤志老师的视频,开始学习的,讲的很详细,入门足够了

TA的精华主题

TA的得分主题

发表于 2024-6-18 16:53 | 显示全部楼层
LIUZHU 发表于 2024-6-18 16:50
因为JS数组的方法很多,比VBA强太多了,但是代码少,只是写代码的效率高,运行的效率并没有胜过VBA,VBA ...

算了,JS我就不学了,我退休了,学了也没啥用

TA的精华主题

TA的得分主题

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

你这也太卷了吧,VBA和JS各写了一个,两手都要抓,两手都很硬啊

TA的精华主题

TA的得分主题

发表于 2024-6-18 16:55 | 显示全部楼层
ykcbf1100 发表于 2024-6-18 16:53
算了,JS我就不学了,我退休了,学了也没啥用

如果提高自身的工作效率,那还是有那么一点用,但如果把别人给卷死了,也不太好

TA的精华主题

TA的得分主题

发表于 2024-6-18 16:59 | 显示全部楼层
LIUZHU 发表于 2024-6-18 16:55
如果提高自身的工作效率,那还是有那么一点用,但如果把别人给卷死了,也不太好

你多学点哈,水平提高了可以去赚点钱

TA的精华主题

TA的得分主题

发表于 2024-6-18 17:16 | 显示全部楼层
wang-way 发表于 2024-6-18 14:23
好繁琐是不是 看看我的做法 哈哈

拜托可不可以少一点批注?看起来绿油油的,很容易让人误解为是AI写的。

TA的精华主题

TA的得分主题

发表于 2024-6-18 17:21 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 leeson7502 于 2024-6-18 17:53 编辑

参与一个,
  1. Sub mySum()
  2.     Dim arr(), temp(), iRow As Long, iCol As Long
  3.     Dim ws As Worksheet, strName As String
  4.     Set ws = ThisWorkbook.Sheets("汇总")
  5.     arr = ThisWorkbook.Sheets("明细表").UsedRange.Value2
  6.     iRow = Application.WorksheetFunction.RoundUp(UBound(arr) / 15, 0)
  7.     iCol = ws.UsedRange.Columns.Count
  8.     ReDim temp(1 To iRow, 1 To iCol)
  9.     For i = 1 To UBound(arr)
  10.         If arr(i, 1) = "揽投人员姓名" Then
  11.             strName = Trim(arr(i + 3, 1))
  12.             If strName <> "" And strName <> "0" Then
  13.                 k = k + 1
  14.                 temp(k, 1) = arr(i + 3, 1)
  15.                 temp(k, 2) = arr(i + 3, 2)
  16.                 temp(k, 3) = arr(i + 3, 3)
  17.                 t = 3
  18.                 For m = 3 To 12 Step 3
  19.                     If m = 6 Then
  20.                         For n = 1 To 8
  21.                             t = t + 1
  22.                             temp(k, t) = arr(i + m, 3 + n)
  23.                         Next
  24.                     Else
  25.                         For n = 1 To 6
  26.                             t = t + 1
  27.                             temp(k, t) = arr(i + m, 3 + n)
  28.                         Next
  29.                     End If
  30.                 Next
  31.                 t = t + 1
  32.                 temp(k, t) = arr(i + 3, 12)
  33.                
  34.                 For m = 3 To 12 Step 3
  35.                     For n = 1 To 8
  36.                         t = t + 1
  37.                         temp(k, t) = arr(i + m, 12 + n)
  38.                     Next
  39.                 Next
  40.             End If
  41.         End If
  42.     Next
  43.     ws.UsedRange.Offset(3).ClearContents
  44.     ws.Range("A4").Resize(UBound(temp), UBound(temp, 2)) = temp
  45. End Sub
复制代码

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-6-29 18:32 , Processed in 0.042557 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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