Excel精英培训网

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

[已解决]请大家帮忙修改一下此小程序

[复制链接]
发表于 2011-12-1 19:48 | 显示全部楼层 |阅读模式
编程环境是PPT, 希望可以选择PPT里的组合框的值,excel的图表会选择相应的数据源。
路径请根据需要修改      运行到 .SetSourceData Source:=rng 就一直报错  不知道是什么原因,望高手解答。
Private Sub CommandButton1_Click()

Dim xlApp As Object
Dim xlBook As Object
Dim xlSheet As Object
Dim strWbPath As String
Dim xlchart As Object
Dim rng As Object, rng1 As Object

Set xlApp = CreateObject("Excel.Application")
strWbPath = "C:\Users\tang\Desktop\New Folder (3)\Oct HC report new.xls"
Set xlBook = xlApp.Workbooks.Open(strWbPath)
xlApp.Visible = True
Set xlSheet = xlBook.Worksheets("1. HC by Function CRM (2)")
Set rng = xlSheet.Range("A60:N60,A61:N61,A68:N68")
Set rng1 = xlSheet.Range("a60:n60,a62:n62,a69:n69")

Set xlchart = xlSheet.ChartObjects("Chart 7")

Select Case ComboBox1.Value
    Case "Product"
       With xlchart
        .SetSourceData Source:=rng
        End With


    Case "Division"
       With xlchart
        .SetSourceData Source:=rng1
        End With

End Select

End Sub

最佳答案
2011-12-1 21:12
本帖最后由 兰色幻想 于 2011-12-1 22:16 编辑

明白了,得指定一下程序才行
With xlchart
          .Select
        xlApp.ActiveChart.SetSourceData Source:=rng

New Folder (3).rar

71.34 KB, 下载次数: 24

 楼主| 发表于 2011-12-1 20:03 | 显示全部楼层
回复

使用道具 举报

发表于 2011-12-1 20:21 | 显示全部楼层
修改图表前要选取它     
  With xlchart
          .Select
          ActiveChart.SetSourceData Source:=Range("C69:E72")
回复

使用道具 举报

发表于 2011-12-1 20:22 | 显示全部楼层
另外,你最好改成相对路径,这样别人运行不至于还要改代码
ActivePresentation.Path ‘返回当前PPT文件所在路径
回复

使用道具 举报

 楼主| 发表于 2011-12-1 20:48 | 显示全部楼层
回兰版主 还是不行啊  运行到.SetSourceData Source:=rng1的时候 还是报错  对象不支持此属性或方法
回复

使用道具 举报

 楼主| 发表于 2011-12-1 20:49 | 显示全部楼层
已经修改过了~~~~~~
回复

使用道具 举报

 楼主| 发表于 2011-12-1 20:50 | 显示全部楼层
打错了  报错是 方法作用于chart时失败
回复

使用道具 举报

发表于 2011-12-1 21:12 | 显示全部楼层    本楼为最佳答案   
本帖最后由 兰色幻想 于 2011-12-1 22:16 编辑

明白了,得指定一下程序才行
With xlchart
          .Select
        xlApp.ActiveChart.SetSourceData Source:=rng
回复

使用道具 举报

 楼主| 发表于 2011-12-1 21:36 | 显示全部楼层
多谢兰版主。。。
回复

使用道具 举报

 楼主| 发表于 2011-12-1 22:22 | 显示全部楼层
还有个问题请教兰版主   我将此图选择性黏贴到PPT里了  怎么用VBA实现 只要EXCEL的图一改变,PPT里的图就自动更新呀  谢谢
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-18 12:32 , Processed in 0.375657 second(s), 14 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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