已将代码格式化如下。在“.Sheets(1).Range(”A7“)找不到数据成员时出现错误。值”
Sub DATA()
temp = 0
ActivePresentation.Slides(4).Shapes("Temp").TextFrame.TextRange.Text = ActivePresentation.Slides(4).Shapes("Temp").TextFrame.TextRange.Text +1 'counter to add +1
With ActivePresentation.Slides(4).Shapes("Bar1").Chart.ChartData
.Activate
.Sheets(1).Range("A7").Value = ActivePresentation.Slides(4).Shapes("Temp").TextFrame.TextRange.Text
.Workbook.Close
End With
End Sub
答案 0 :(得分:0)
ChartData
对象引用整个Workbook
,因此您可能会收到类似438的错误:对象不支持此属性或方法,因为Cell
不是Workbook
对象的孩子。
另外,Cell
不是Worksheet
对象的孩子,也不是您需要的Cells
或Range
,而且您是&#39}。我需要将其限定为工作表,例如Sheets(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
块来管理ChartData
对象。在实践中,我总是必须实际Activate
它,然后关闭它。 YMMV。