HardCat 2022-07-18 00:04 采纳率: 66.7%
浏览 41

VBA 删除ppt中指定图表

问题遇到的现象和发生背景

VBA 在路径下的ppt中创建图表 并更新数据。想在这之前判断,如果存在该图表则删除,不知道该怎么写,找不到资料

问题相关代码,请勿粘贴截图

Dim shp_04 As PowerPoint.shape
Dim chartsheet_04 As Worksheet
Dim arr1_04()
Dim sourceaddress_04 As String

sourceaddress_04 = wb.Sheets("ppt_page4_01").Range("a1:m5").Address
arr1_04 = Range(sourceaddress_04).Value

'Dim chart As PowerPoint.chart
'For Each chart In ppt.Slides(4)
' If Left$(chart.Name, 6) = "Object" Then
' chart.Delete
' End If
'Next chart

Set shp_04 = ppt.Slides(4).Shapes.AddChart(xlColumnStacked, 40, 100, 880, 200)
Set chartsheet_04 = shp_04.chart.ChartData.Workbook.Worksheets(1)
chartsheet_04.Cells.clear

chartsheet_04.[a1].Resize(UBound(arr1_04), UBound(arr1_04, 2)) = arr1_04
’shp_04.chart.SetSourceData Source:=wb.Sheets("ppt_page4_01").Range("a1:m5"), PlotBy:=xlRows ‘为什么这么写会报错
shp_04.chart.SetSourceData Source:="='sheet1'!" & sourceaddress_04, PlotBy:=xlRows

shp_04.chart.Axes(xlCategory).TickLabels.Font.Size = 10
shp_04.chart.Axes(xlValue).TickLabels.Font.Size = 10
shp_04.chart.Legend.Font.Size = 8
shp_04.chart.ChartData.Workbook.Close
wb.Close

End Sub

  • 写回答

1条回答 默认 最新

  • 赵4老师 2022-07-18 14:18
    关注

    在PowerPoint中开始记录宏,手动完成所需功能,结束记录宏,按Alt+F11键,查看刚才记录的宏对应的VBA代码。

    评论

报告相同问题?

问题事件

  • 创建了问题 7月18日

悬赏问题

  • ¥15 依据报错在原代吗格式的基础上解决问题
  • ¥15 在虚拟机中安装flash code
  • ¥15 单片机stm32f10x编写光敏电阻调节3.3伏大功率灯亮度(光强越大灯越暗,白天正常光强灯不亮,使用ADC,PWM等模块)望各位找一下错误或者提供一个可实现功能的代码
  • ¥20 verilog状态机方法流水灯
  • ¥15 pandas代码实现不了意图
  • ¥15 GD32H7 从存储器到外设SPI传输数据无法重复启用DMA
  • ¥25 LT码在高斯信道下的误码率仿真
  • ¥45 渲染完成之后将物体的材质贴图改变,自动化进行这个操作
  • ¥15 yolov5目标检测并显示目标出现的时间或视频帧
  • ¥15 电视版的优酷可以设置电影连续播放吗?