ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 不知道VBA能不能解决这个问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-10-1 13:04 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
我每天需要把这个表的数据,G列到N列透视分析,每天都是重复操作,但是每天行数不固定,列数是没变化的,我初学VBA,录制宏试了一下,每次执行都是录制时的行数,增加了数据也不会变化,看 了下代码,我想着只要把代码里的单元格地址用变量代替,但是不能执行,搞不懂,好麻烦,能帮帮我吗,大神们,这个要用VBA怎么写,好人一生平安!!!公司电脑办公软件是07的版本。
创建日期实际日期号码1号码2类型编码主料号次料号生产数用量需要量已发套数已发数量欠发数量备注
2018/10/1
2018/10/1
3432324
2ewewrd等等3fddfd42ds23
324221
100
5
5
1
1
4
2018/10/2
2018/10/2
3432324
3ewewrd等等4fddfd42ds24
324221
100
5
5
1
1
4
2018/10/3
2018/10/3
3432324
4ewewrd等等5fddfd42ds25
324221
100
5
5
1
1
4
2018/10/4
2018/10/4
3432324
5ewewrd等等6fddfd42ds26
324221
100
5
5
1
1
4
2018/10/5
2018/10/5
3432324
6ewewrd等等7fddfd42ds27
324221
100
5
5
1
1
4
2018/10/6
2018/10/6
3432324
7ewewrd等等8fddfd42ds28
324221
100
5
5
1
1
4
2018/10/7
2018/10/7
3432324
8ewewrd等等9fddfd42ds29
324221
100
5
5
1
1
4
2018/10/8
2018/10/8
3432324
9ewewrd等等10fddfd42ds30
324221
100
5
5
1
1
4
2018/10/9
2018/10/9
3432324
10ewewrd等等11fddfd42ds31
324221
100
5
5
1
1
4
2018/10/10
2018/10/10
3432324
11ewewrd等等12fddfd42ds32
324221
100
5
5
1
1
4
2018/10/11
2018/10/11
3432324
12ewewrd等等13fddfd42ds33
324221
100
5
5
1
1
4
2018/10/12
2018/10/12
3432324
13ewewrd等等14fddfd42ds34
324221
100
5
5
1
1
4
2018/10/13
2018/10/13
3432324
14ewewrd等等15fddfd42ds35
324221
100
5
5
1
1
4
需要透视表内容如下, 行标签(主料号)和求和项(欠发数量)
行标签
求和项:欠发数量
42ds23
4
42ds24
4
42ds25
4
42ds26
4
42ds27
4
42ds28
4
42ds29
4
42ds30
4
42ds31
4
42ds32
4
42ds33
4
42ds34
4
42ds35
4
总计
52




新建 Microsoft Excel 工作表 (2).zip

11.44 KB, 下载次数: 8

TA的精华主题

TA的得分主题

发表于 2018-10-1 13:11 | 显示全部楼层
数组字典可以解决。只是你需要把你需求描述详细

TA的精华主题

TA的得分主题

发表于 2018-10-1 13:12 | 显示全部楼层
  1. Sub 按钮1_Click()
  2.     Application.ScreenUpdating = False
  3.     Sheets(2).UsedRange.Clear
  4.     Application.Intersect(ActiveSheet.UsedRange, Union(Columns(7), Columns(14))).Copy Sheets(2).[a1]
  5.     r = Sheets(2).Cells(Rows.Count, 1).End(3).Row + 1
  6.     Sheets(2).Cells(r, 1) = "合计"
  7.     Sheets(2).Cells(r, 2) = WorksheetFunction.Sum(Sheets(2).[b2].Resize(r))
  8.     Application.ScreenUpdating = True
  9. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2018-10-1 13:13 | 显示全部楼层
附件内容供参考。。。。

新建 Microsoft Excel 工作表 (2).zip

17.6 KB, 下载次数: 6

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-10-1 13:37 | 显示全部楼层
不知道为什么 发表于 2018-10-1 13:11
数组字典可以解决。只是你需要把你需求描述详细

我需要主料号和欠发数量,因为每天几百上千行,主料号会有重复的,所以要透视得到这个两列的值,但是每天数据行数不固定,我的意思是用VBA,代替手动,我每次都要从G1选到N1,再shift+ctrl+下方向键,再alt+d+p
,行标签(主料号)和求和项(欠发数量),就得出我要的数据了!

TA的精华主题

TA的得分主题

发表于 2018-10-1 13:40 | 显示全部楼层
syt2008 发表于 2018-10-1 13:37
我需要主料号和欠发数量,因为每天几百上千行,主料号会有重复的,所以要透视得到这个两列的值,但是每天 ...

那很简单,字典处理下就可以了

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-10-1 13:42 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
liulang0808 发表于 2018-10-1 13:13
附件内容供参考。。。。

你这个方法我看了一下,大概明白意思,也算是一种方法,不过用这个方法的话,能不能让重复的主料号只显示一个,让重复的主料号对应欠发数量也显示一个,

TA的精华主题

TA的得分主题

发表于 2018-10-1 14:20 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
这个没必要用vba,数据透视表中用定义动态区域的方式就能解决

TA的精华主题

TA的得分主题

发表于 2018-10-1 14:24 | 显示全部楼层
你把数据转化成表给在做数据透视 数据增加后只需刷新一下透视表就ok了 可以实时更新 很简单 快捷根本不用谢代码

TA的精华主题

TA的得分主题

发表于 2018-10-1 14:29 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
可以动态刷新 供参考

新建 Microsoft Excel 工作表.zip

9.75 KB, 下载次数: 3

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

本版积分规则

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

GMT+8, 2025-1-16 09:04 , Processed in 0.032149 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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