![](/img/trans.png)
[英]VBA Error “Expected Function or Variable” when trying to set a PowerPoint Slide
[英]Error when trying to delete all chart objects in a PowerPoint Slide from Excel VBA
我有一個充當數據庫的Excel文件。 在對Excel文件中的數據進行排序和修改之后,我將更新后的數據復制到PowerPoint幻燈片中。 從更新的工作表中復制所有圖表對象之前,我想從PowerPoint幻燈片中刪除舊圖表。
我使用了下面的代碼,但是,當嘗試刪除幻燈片中的最后一個圖表時,我收到一條錯誤消息。 錯誤消息是“ Shapes.Item:整數超出范圍。25不是索引的1到24的有效范圍 ”。
Dim SlideNum, i As Integer
SlideNum = ActiveSheet.Cells(5, 2)
For i = 1 To PPT.ActivePresentation.Slides(SlideNum).Shapes.Count
' if current slide object is a chart, delete it
If PPT.ActivePresentation.Slides(SlideNum).Shapes.Item(i).HasChart Then
PPT.ActivePresentation.Slides(SlideNum).Shapes.Item(i).Delete
End If
Next i
每當您要遍歷VBA中的一組對象以刪除一個或多個對象時,都需要使用步驟-1進行倒數,因此您的循環應像這樣開始:
For i = PPT.ActivePresentation.Slides(SlideNum).Shapes.Count to 1 Step -1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.