Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PPT VBA将触发器从PPT形状发送到图表数据_Vba_Powerpoint - Fatal编程技术网

PPT VBA将触发器从PPT形状发送到图表数据

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("

已将代码格式化如下。错误源于“.Sheets(1).Range(“A7”).Value”处未找到数据成员


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