ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

excel 日报表求助

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-7-18 14:28 | 显示全部楼层
老师威武,两个我都试了下,完美达到了效果,和我的两个思路完全一致,术业有专攻,还得多向各位老师各位大神学习。

TA的精华主题

TA的得分主题

发表于 2024-7-18 14:36 | 显示全部楼层
本帖最后由 ykcbf1100 于 2024-7-18 14:38 编辑

代码已写,因工作表保护,无法放上按钮,你自己搞一下吧。
注:表2日期格式要改成与录入表一致才行。


注水报表2024.7.22.zip

98.36 KB, 下载次数: 2

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-7-18 14:38 | 显示全部楼层
参与一下。。。

  1. Sub ykcbf()  '//2024.7.18
  2.     b = [{6,12}]
  3.     With Sheets("0数据录入")
  4.         rq = .[s6]
  5.         arr = .[s1:y100]
  6.     End With
  7.     With Sheets("2水量表格统计")
  8.         r = 34
  9.         For i = 4 To r
  10.             If .Cells(i, 1) = rq Then
  11.                 For j = 2 To 7
  12.                     .Cells(i, j) = arr(b(1), j)
  13.                 Next
  14.             End If
  15.         Next
  16.     End With
  17.     With Sheets("4电量统计")
  18.         r = 35
  19.         For i = 5 To r
  20.             If .Cells(i, 1) = rq Then
  21.                 For j = 2 To 6
  22.                     .Cells(i, j) = arr(b(2), j)
  23.                 Next
  24.             End If
  25.         Next
  26.     End With
  27.     MsgBox "OK!"
  28. End Sub
复制代码


评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-7-18 15:10 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 zyf7527721 于 2024-7-18 15:35 编辑
铁马1980 发表于 2024-7-18 12:40
test2你需要把两个表的日期格式统一了才行

多次试用后,test1可以连续使用,但S6:Y6里面如果是公式会报错;test2使用时S6:Y6里面如果是公式会报错。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-7-18 15:23 | 显示全部楼层

谢谢老师!执行后文本框“OK"出现,数据实际上没有写入。

TA的精华主题

TA的得分主题

发表于 2024-7-18 15:35 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 ykcbf1100 于 2024-7-18 15:58 编辑
zyf7527721 发表于 2024-7-18 15:23
谢谢老师!执行后文本框“OK"出现,数据实际上没有写入。

我改一下吧,适应你二个表日期格式不同的情况。

注水报表2024.7.22.zip

100.32 KB, 下载次数: 5

TA的精华主题

TA的得分主题

发表于 2024-7-18 15:56 | 显示全部楼层
  1. Option Explicit
  2. Sub copyData()

  3. If Cells(Range("A4").CurrentRegion.Rows.Count, 1) = "µ±ÔºϼÆ" Then Rows(Range("A4").CurrentRegion.Rows.Count).Delete

  4.     Sheets("0Êý¾Ý¼Èë").Range("S6:Y6").Copy
  5.     Sheets("2Ë®Á¿±í¸ñͳ¼Æ").Cells(1000, 1).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues
  6.     Sheets("2Ë®Á¿±í¸ñͳ¼Æ").Cells(1000, 1).End(xlUp).Offset(1, 0) = "µ±ÔºϼÆ"
  7.     Sheets("2Ë®Á¿±í¸ñͳ¼Æ").Cells(1000, 1).End(xlUp).Offset(0, 1) = Application.WorksheetFunction.Sum(Sheets("2Ë®Á¿±í¸ñͳ¼Æ").Range("B4:B" & Range("A4").CurrentRegion.Rows.Count - 1))
  8.     Sheets("2Ë®Á¿±í¸ñͳ¼Æ").Cells(1000, 1).End(xlUp).Offset(0, 2) = Application.WorksheetFunction.Sum(Sheets("2Ë®Á¿±í¸ñͳ¼Æ").Range("C4:C" & Range("A4").CurrentRegion.Rows.Count - 1))
  9. End Sub

复制代码

注水报表2024.7.22.rar

84.97 KB, 下载次数: 2

TA的精华主题

TA的得分主题

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

直接复制黏贴了,并计算合计。。
我上传的附件和代码怎么那么慢。。。。。。。。

TA的精华主题

TA的得分主题

发表于 2024-7-18 15:59 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
我把日期先转换成标准的日期格式再查找日期的位置。
  1. Sub ykcbf()  '//2024.7.18
  2.     b = [{6,12}]
  3.     With Sheets("0数据录入")
  4.         rq = CDate(Replace(.[s6], ".", "/"))
  5.         arr = .[s1:y100]
  6.     End With
  7.     With Sheets("2水量表格统计")
  8.         r = 34
  9.         For i = 4 To r
  10.             If CDate(Replace(.Cells(i, 1), ".", "/")) = rq Then
  11.                 For j = 2 To 7
  12.                     .Cells(i, j) = arr(b(1), j)
  13.                 Next
  14.             End If
  15.         Next
  16.     End With
  17.     With Sheets("4电量统计")
  18.         r = 35
  19.         For i = 5 To r
  20.             If CDate(Replace(.Cells(i, 1), ".", "/")) = rq Then
  21.                 For j = 2 To 6
  22.                     .Cells(i, j) = arr(b(2), j)
  23.                 Next
  24.             End If
  25.         Next
  26.     End With
  27.     MsgBox "OK!"
  28. End Sub
复制代码



TA的精华主题

TA的得分主题

发表于 2024-7-18 16:16 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
ykcbf1100 发表于 2024-7-18 15:35
我改一下吧,适应你二个表日期格式不同的情况。

我有一个问题好奇问下ykcbf老师:b = [{6,12}] 和b = Array("6", "12") 是不是同一个作用,只是用你的方法使得索引号从1开始,而不像array生成的是从0开始索引的?!
   
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-18 03:44 , Processed in 0.048808 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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