ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助]高手!如何改写录制的有关制作数据透视表的宏改成通用宏

[复制链接]

TA的精华主题

TA的得分主题

发表于 2008-8-15 13:44 | 显示全部楼层 |阅读模式
 

经过热浪2006高手的指点偶已经明白一点了

偶现在做了3个宏分别的功能是

1。  在指定列左插入1列并在此列的1行填写文本,2行填公式,2列以下所有行向下自动填写2行的公式直到公式中某项为空白。

2。  以在上个宏中插入列的1行为基点,选取向右至右边界,向下至下边界的范围。

3。为第二个宏中选择的区域做数据透视表并设定好布局。

目前我使用录制宏这个功能为CJX.xls这张表录制了一个制作选定区域的宏,可是偶录制好后就看不明白了。。太多的陌生函数,陌生语句,陌生语法。看的偶眼花缭乱的

偶是想在这个宏的基础上改出一个功能一样的,不是象这个宏只能对CJX.xls起作用的,是能够应用到所有已打开的活动表上面的宏,可惜知识不够。。看都看不明白。。

Sub 选定区域做数据透视表()
'
' 选定区域做数据透视表 Macro
' 宏由 USER 录制,时间: 2008-8-15
'

'
    ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
        "CJX!R1C16:R51C23").CreatePivotTable TableDestination:="", TableName:= _
        "数据透视表1", DefaultVersion:=xlPivotTableVersion10
    ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
    ActiveSheet.Cells(3, 1).Select
    ActiveSheet.PivotTables("数据透视表1").AddFields RowFields:="货号", ColumnFields:= _
        "Size"
    ActiveSheet.PivotTables("数据透视表1").PivotFields("QtyShipped").Orientation = _
        xlDataField
End Sub
 

 

以上是录制好的宏的全部内容,还请高手帮忙编一个~~  毕竟有示例好分析进步更快!先行谢过!

 

另外:偶是不是可以把这三个宏的功能都编成一个啊?

TA的精华主题

TA的得分主题

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

最好把文件传上来,只有摸着写了一个

Sub qq()
Dim ws As Worksheet
Dim pt As PivotTable
Dim pc As PivotCache
Application.ScreenUpdating = False
Set ws = ActiveSheet
Set pc = ThisWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=Range("a1").CurrentRegion.Address)
Sheet2.Activate   '选择创建数据透视表的工作表。
Set pt = pc.CreatePivotTable(tabledestination:=Sheet2.Range("a4"), tablename:="数据透视表1")
pt.ManualUpdate = True
ActiveSheet.Cells(3, 1).Select
    pt.AddFields RowFields:="货号", ColumnFields:="Size"
    pt.PivotFields("QtyShipped").Orientation = xlDataField
pt.ManualUpdate = False
pt.ManualUpdate = True
Set ws = Nothing
Set pc = Nothing
Set pt = Nothing
Application.ScreenUpdating = True
End Sub

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

本版积分规则

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

GMT+8, 2024-11-26 12:23 , Processed in 0.047082 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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