Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA在单击按钮时导出图表阵列_Vba - Fatal编程技术网

VBA在单击按钮时导出图表阵列

VBA在单击按钮时导出图表阵列,vba,Vba,搜索变量有问题。我一直得到对象定义错误,我不知道为什么。。。我应该使用单元格吗?偏移量 另外,当我循环遍历图表数组时,我无法使用for each循环,因此我必须从1循环遍历数组的上限。这是否可行?由于ActiveCell.Offset0,-5正在尝试选取一个不存在的单元格,因此会弹出对象定义错误。如果ActiveCell位于列A、B、C、D或E中,则会显示此错误,因为A之前没有列。可能比ActiveCell更具体 至于在图表中循环,应采用以下方法: Sub onButtonClick() D

搜索变量有问题。我一直得到对象定义错误,我不知道为什么。。。我应该使用单元格吗?偏移量


另外,当我循环遍历图表数组时,我无法使用for each循环,因此我必须从1循环遍历数组的上限。这是否可行?

由于ActiveCell.Offset0,-5正在尝试选取一个不存在的单元格,因此会弹出对象定义错误。如果ActiveCell位于列A、B、C、D或E中,则会显示此错误,因为A之前没有列。可能比ActiveCell更具体

至于在图表中循环,应采用以下方法:

 Sub onButtonClick()

Dim source As Worksheet, target As Worksheet
Set source = Workbooks("End Market Monitor.xlsm").Worksheets("Aero Graphs")
Set target = Sheet1

Dim ws As Worksheet
Dim title_name As String, search As String



search = ActiveCell.Offset(0, -5).Value
ReDim chartArray(1 To source.ChartObjects.Count) As Chart
For i = 1 To source.ChartObjects.Count
    title_name = source.ChartObjects(i).Chart.ChartTitle.Text
    counter = 1
    If InStr(title_name, search) > 0 Then
        Set chartArray(counter) = source.ChartObjects(i).Chart
        counter = counter + 1
    End If

Next
Set wsTemp = Sheets.Add

    tp = 10

    With wsTemp
        For n = 1 To UBound(chartArray)
            chartArray(n).CopyPicture
            wsTemp.Range("A1").PasteSpecial
            Selection.Top = tp
            Selection.Left = 5
            tp = tp + Selection.Height + 50
        Next
    End With

    wsTemp.ExportAsFixedFormat Type:=xlTypePDF, Filename:=NewFileName, Quality:=xlQualityStandard, _
           IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=True
End Sub

您在哪一行得到对象定义错误?在search=Activecell.offset0,-5上。同时,我得到了chartArray的copypicture方法失败。
Dim ChartObj as Chartobject
For each ChartObj in Source.ChartObjects
    ....
Next ChartObj