在 PowerPoint 中修改嵌入图表的范围
Modify the range of a embedded chart in PowerPoint
我想将幻灯片 2 上 PowerPoint 中的嵌入图表的范围(excel 中的数据)从范围 (C2:F2) 更改为范围 (C3:F3) 并自动更新图表.
Option Explicit
Sub ModifyChartData()
Dim WB As Workbook
Set WB = Workbooks.Open(FileName:="U:\Automatisierung\Auto.xlsx", ReadOnly:=True)
With ActivePresentation.Slides(2).Shapes("Chart 1").Chart.ChartData
.Activate
WB.Sheets("Chart").Range("B2").Value = WB.Sheets(2).Range("B3").Value
WB.Sheets("Chart").Range("C2").Value = WB.Sheets(2).Range("C3").Value
WB.Sheets("Chart").Range("D2").Value = WB.Sheets(2).Range("D3").Value
WB.Sheets("Chart").Range("F2").Value = WB.Sheets(2).Range("F3").Value
WB.Close SaveChanges:=True
End With
End Sub
编辑:我更新了代码,值现在从 B2 --> B3 等更改。
我现在遇到了工作簿的问题:我希望更新图表并再次关闭工作簿。
For: WB.Close SaveChanges:=True --> 它想保存一个新的文件。
WB.Close SaveChanges:=False --> 我丢失了更新的图表。
如何在宏中保存和更新文件?
非常感谢!
感谢@BigBen 和@John Korchok 我设法用以下代码解决了这个问题:
Option Explicit
Sub ModifyChartData()
With ActivePresentation.Slides(2).Shapes("Chart 1").Chart.ChartData
.Activate
.Workbook.Sheets(2).Range("B2").Value = .Workbook.Sheets(2).Range("B4").Value
.Workbook.Sheets(2).Range("C2").Value = .Workbook.Sheets(2).Range("C4").Value
.Workbook.Sheets(2).Range("D2").Value = .Workbook.Sheets(2).Range("D4").Value
.Workbook.Sheets(2).Range("F2").Value = .Workbook.Sheets(2).Range("F4").Value
.Workbook.Close SaveChanges:=True
End With
End Sub
我想将幻灯片 2 上 PowerPoint 中的嵌入图表的范围(excel 中的数据)从范围 (C2:F2) 更改为范围 (C3:F3) 并自动更新图表.
Option Explicit
Sub ModifyChartData()
Dim WB As Workbook
Set WB = Workbooks.Open(FileName:="U:\Automatisierung\Auto.xlsx", ReadOnly:=True)
With ActivePresentation.Slides(2).Shapes("Chart 1").Chart.ChartData
.Activate
WB.Sheets("Chart").Range("B2").Value = WB.Sheets(2).Range("B3").Value
WB.Sheets("Chart").Range("C2").Value = WB.Sheets(2).Range("C3").Value
WB.Sheets("Chart").Range("D2").Value = WB.Sheets(2).Range("D3").Value
WB.Sheets("Chart").Range("F2").Value = WB.Sheets(2).Range("F3").Value
WB.Close SaveChanges:=True
End With
End Sub
编辑:我更新了代码,值现在从 B2 --> B3 等更改。 我现在遇到了工作簿的问题:我希望更新图表并再次关闭工作簿。 For: WB.Close SaveChanges:=True --> 它想保存一个新的文件。 WB.Close SaveChanges:=False --> 我丢失了更新的图表。
如何在宏中保存和更新文件?
非常感谢!
感谢@BigBen 和@John Korchok 我设法用以下代码解决了这个问题:
Option Explicit
Sub ModifyChartData()
With ActivePresentation.Slides(2).Shapes("Chart 1").Chart.ChartData
.Activate
.Workbook.Sheets(2).Range("B2").Value = .Workbook.Sheets(2).Range("B4").Value
.Workbook.Sheets(2).Range("C2").Value = .Workbook.Sheets(2).Range("C4").Value
.Workbook.Sheets(2).Range("D2").Value = .Workbook.Sheets(2).Range("D4").Value
.Workbook.Sheets(2).Range("F2").Value = .Workbook.Sheets(2).Range("F4").Value
.Workbook.Close SaveChanges:=True
End With
End Sub