Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4067|回复: 6

[分享] 【烟花原创】VBA零基础之第137篇 字典(十四)

[复制链接]
发表于 2014-3-27 23:28 | 显示全部楼层 |阅读模式
四、实战
5.格式转换(类似于数透功能)

数据源(部分截图):

转换后的表格效果图:


思路:
根据标题行的字段顺序依据产品型与发货人,统计汇总对应的数据。
代码中定义三个字典对象变量:
Dcp存放产品型号,用来生成第一列的产品列表(去重复)
Dch存储出货人,用来生成第一行的列标题字段。当用动态数组时会用到这个出货人数量。
D存储某个产品经由某个出货人出货的数量汇总。


代码:


思考:
如果出货人字段要按源数据中出货人出现的先后顺序来排列,代码要如何修改?

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2014-3-28 09:08 | 显示全部楼层
建议部分代码修改:

For Each RAN In Range("h1:m1")
        Dch.Add RAN, ""
Next
改为
For Each RAN In Range("B2", Range("B65536").End(3))
       Dch(RAN.Value) = ""
Next
理由:
1. 截图中出货人在B列。
2. 接下来需要的是具体的出货人,而不是单元格的全部属性。
回复

使用道具 举报

发表于 2014-3-29 16:37 | 显示全部楼层
回复

使用道具 举报

发表于 2014-4-18 22:52 | 显示全部楼层
zjdh 发表于 2014-3-28 09:08
建议部分代码修改:

For Each RAN In Range("h1:m1")

是的
回复

使用道具 举报

发表于 2014-4-27 09:03 | 显示全部楼层
支持{:35:}
回复

使用道具 举报

发表于 2014-6-18 15:07 | 显示全部楼层
回复

使用道具 举报

发表于 2014-6-24 15:35 | 显示全部楼层
{:35:}
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-2 19:22 , Processed in 0.226344 second(s), 5 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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