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