簡體   English   中英

如何在VBA中向圖表數組添加元素

[英]How to add elements to array of Chart in vba

我正在嘗試將14個散點圖添加到新工作簿的圖表中。 以下代碼未將新圖表存儲在動態數組中。

   Sub GenerateViewSheets()

   Dim curBook As Workbook
   ' Create new worksheet
   Dim NewBook As Workbook
   Set NewBook = Workbooks.Add

   'Add a sheet
   Dim chrt As Chart
   Set chrt = NewBook.Charts.Add(Before:=Worksheets(Worksheets.Count))
   chrt.Activate

   'Add charts   
   Dim nCharts As Integer
   Dim iChrt As Integer
   Dim chartArray() As Chart
   nCharts = 14
   ReDim chartArray(1 To nCharts) As Chart

   With chrt
      For i = 1 To nCharts
         Set chartArray(i) = .ChartObjects.Add(1, 1, 20, 20) ' Left, Top, Width, Height
      Next i
   End With
   End Sub

錯誤消息是

  Error #  13
  Generated by VBAProject
  Error Line: 0
  Error Desc: Type mismatch

將數組類型更改為ChartObject:

   Sub GenerateViewSheets()

   Dim curBook As Workbook
   Dim NewBook As Workbook

   Set NewBook = Workbooks.Add

   'Add a sheet
   Dim chrt As Chart
   Set chrt = NewBook.Charts.Add(Before:=Worksheets(Worksheets.Count))
   chrt.Activate

   'Add charts
   Dim nCharts As Integer
   Dim iChrt As Integer
   Dim chartArray() As ChartObject

   nCharts = 14
   ReDim chartArray(1 To nCharts) As ChartObject

   With chrt
      For i = 1 To nCharts
         Set chartArray(i) = .ChartObjects.Add(1, 1, 20, 20) ' Left, Top, Width, Height
      Next i
   End With

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM