将图表导出到PPT时VBA运行时错误91

时间:2020-07-14 02:35:19

标签: excel vba charts runtime-error powerpoint

下面是我用来将图表粘贴到ppt中的代码的一部分。基本上是从excel中挑选图表来更新现有的ppt。我还包括了嵌入式文本。我在哪里收到此错误。请帮助我确定为什么存在此错误。 我在下面的行出现错误:- m = shp.TextFrame.TextRange.Find(existing_date_string).Characters.Start

Sub ChangeChartData_phast()
    
    
    Dim pptChart As Chart
    Dim pptChartData As ChartData
    Dim sld As Slide
    Dim shp As Shape
    Dim wbk As Workbook
    Dim wbk_copy As Workbook
    Dim wbk_paste As Worksheet
    Dim filepath As String

 filepath = ActivePresentation.Path
    Dim xlApp As Object
    Set xlApp = CreateObject("Excel.Application")
    Set wbk_copy = xlApp.Workbooks.Open(filepath & "\development file.xlsm", True, False)
    'xlApp.Visible = True
    date_string = (wbk_copy.Worksheets("Data").Cells(13, 2))
    existing_date_string = (wbk_copy.Worksheets("Data").Cells(14, 2))
    wbk_copy.Close True
    Set xlApp = Nothing

 Set xlApp = CreateObject("Excel.Application")
    Set wbk_copy = xlApp.Workbooks.Open(filepath & "\Phast Charts Data.xlsx", True, False)
    xlApp.Visible = True
    
    Dim n As Integer

i = i + 1
        
        For Each shp In sld.Shapes
            If shp.Name = "Title1" Then
                m = shp.TextFrame.TextRange.Find(existing_date_string).Characters.Start
                          shp.TextFrame.TextRange.Characters(m).InsertBefore (date_string)
                          shp.TextFrame.TextRange.Find(existing_date_string).Delete
            End If
        Next
Next n
    xlApp.DisplayAlerts = False
    wbk_copy.Close False
    xlApp.DisplayAlerts = True 

1 个答案:

答案 0 :(得分:0)

也许使用替换为空白字符串或您的文本,而不是使用删除

shp.TextFrame.TextRange.Replace FindWhat:=“ ###”,ReplaceWhat:=“”

或尝试使用vbNullString替换。