ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

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

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-10-1 14:33 | 显示全部楼层
xtpdcyga 发表于 2018-10-1 14:20
这个没必要用vba,数据透视表中用定义动态区域的方式就能解决

主要是我得到数据后我就删掉了,第二天我又要从公司系统里导出来查看,每天数据都不一样,但是我每天操作都是相同的,不知有什么方法解决没有

TA的精华主题

TA的得分主题

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

主要是我得到数据后我就删掉了,第二天我又要从公司系统里导出来查看,每天数据都不一样,但是我每天操作都是相同的,不知有什么方法解决没有

TA的精华主题

TA的得分主题

发表于 2018-10-1 14:41 | 显示全部楼层
syt2008 发表于 2018-10-1 13:42
你这个方法我看了一下,大概明白意思,也算是一种方法,不过用这个方法的话,能不能让重复的主料号只显示 ...

Sub 按钮1_Click()
    Set d = CreateObject("scripting.dictionary")
    Application.ScreenUpdating = False
   
    arr = Sheets(1).UsedRange
    For j = 2 To UBound(arr)
        d(arr(j, 7)) = d(arr(j, 7)) + arr(j, 14)
    Next j
    With Sheets(2)
        .UsedRange.Clear
        .[a1] = "主料号"
        .[b1] = "欠发数量"
        .[a2].Resize(d.Count) = WorksheetFunction.Transpose(d.keys)
        .[b2].Resize(d.Count) = WorksheetFunction.Transpose(d.items)
        .Cells(d.Count + 2, 1) = "合计"
        .Cells(d.Count + 2, 2) = WorksheetFunction.Sum(d.items)
    End With
    Application.ScreenUpdating = True
End Sub

TA的精华主题

TA的得分主题

发表于 2018-10-1 14:42 | 显示全部楼层
表格本身也有合并计算功能啊 简单操作几步就完成了

TA的精华主题

TA的得分主题

发表于 2018-10-1 14:42 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
楼主的模拟数据没有重复项
这次针对重复项使用字典合并了

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

18.48 KB, 下载次数: 6

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-10-1 15:53 | 显示全部楼层
liulang0808 发表于 2018-10-1 14:42
楼主的模拟数据没有重复项
这次针对重复项使用字典合并了

非常感谢,是我想要的,谢谢你

TA的精华主题

TA的得分主题

发表于 2018-10-1 16:37 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
在【名称管理器】中新建名称area,输入公式  =OFFSET(Sheet1!$A$1,,,COUNTA(Sheet1!$A:$A),COUNTA(Sheet1!$1:$1)),然后在数据透视表【表/区域】中输入area,这样做,area区域会随着表内容增加而增加,数据透视表只要刷新一下就可以了

TA的精华主题

TA的得分主题

发表于 2018-10-1 16:38 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
如附件,可以参考一下,简单的需求简单处理,没必要写VBA

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

12.02 KB, 下载次数: 1

TA的精华主题

TA的得分主题

发表于 2018-10-1 17:14 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
你在做透视表的时候,只要先把H列到N列全部选中(不要选行),再插入数据透视表,这样当数据行增加的时候,只要将鼠标移动到透视表内,右键选择“刷新”就行了,不用VBA。

TA的精华主题

TA的得分主题

发表于 2018-10-1 17:27 | 显示全部楼层
希望对你有帮助

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

15.2 KB, 下载次数: 1

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

本版积分规则

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

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

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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