PPT VBA将触发器从PPT形状发送到图表数据
已将代码格式化如下。错误源于“.Sheets(1).Range(“A7”).Value”处未找到数据成员PPT VBA将触发器从PPT形状发送到图表数据,vba,powerpoint,Vba,Powerpoint,已将代码格式化如下。错误源于“.Sheets(1).Range(“A7”).Value”处未找到数据成员 ChartData对象引用了整个Workbook,因此您可能会遇到类似438的错误:对象不支持此属性或方法,因为Cell不是Workbook对象的子对象 注意,单元格也不是工作表对象的子对象,它是您需要的单元格或范围,您需要将其限定为工作表,如工作表(1)(根据需要修改) 因此,请尝试: Dim val$ val = ActivePresentation.Slides(4).Shapes("
ChartData
对象引用了整个Workbook
,因此您可能会遇到类似438的错误:对象不支持此属性或方法,因为Cell
不是Workbook
对象的子对象
注意,单元格
也不是工作表
对象的子对象,它是您需要的单元格
或范围
,您需要将其限定为工作表,如工作表(1)
(根据需要修改)
因此,请尝试:
Dim val$
val = ActivePresentation.Slides(4).Shapes("temp").textrange.text
With ActivePresentation.Slides(4).Shapes("Bar1").Chart.ChartData
'.Activate
' something like this:
.Sheets(1).Range("A1").value = val
.Workbook.Close
End With
理论上,您应该能够使用
With
块来管理图表数据
对象。在实践中,我总是必须实际地激活它,然后关闭它。YMMV.请正确设置代码格式,并详细说明哪些代码不适合您。例如,“我无法在powerpoint中从表格数据源获取值”或“如何在演示模式下使用“下一步”按钮运行子例程?”。请使用{}按钮格式化代码。简单地说,我需要用“10”填充ChartData的a1单元格。简单地说,我需要用“10”填充ChartData的a1单元格{使用ActivePresentation.Slides(4).Shapes(“Bar1”).Chart.ChartData.range(“a1”).value=10以}结尾理解,但您的问题是什么?是否有错误?如果有,错误是什么?如果没有错误,请描述结果如何与您预期的不同。您好,尝试了您的答案,但出现了错误,下面的“未找到数据成员”是脚本,错误为@.Sheets(1).Range(“A7”).Value“.Sub-data()temp=0 ActivePresentation.Slides(4).Shapes(“temp”).TextFrame.textfrange.Text=ActivePresentation.Slides(4).Shapes(“temp”).TextFrame.TextRange.Text+1”计数器,用ActivePresentation.Slides(4).Shapes(“Bar1”)添加+1.Chart.ChartData.Activate.Sheets(1).Range(“A7”).Value=ActivePresentation.Slides(4).Shapes(“Temp”).TextFrame.TextRange.Text.Workbook.Close End With End子请修改您的问题注释中的代码不容易阅读,因为它格式不正确。请尝试更改为.Workbook.Sheets(1).Range(“A1”).value=val
?谢谢David,它现在可以工作了…只需一瞬间excel数据源就可以了。有没有删除它的想法…否则一切都很正常…非常感谢您的帮助
Dim val$
val = ActivePresentation.Slides(4).Shapes("temp").textrange.text
With ActivePresentation.Slides(4).Shapes("Bar1").Chart.ChartData
'.Activate
' something like this:
.Sheets(1).Range("A1").value = val
.Workbook.Close
End With