Vba 将图表从excel复制到word时下标超出范围

Vba 将图表从excel复制到word时下标超出范围,vba,excel,excel-charts,Vba,Excel,Excel Charts,嗨,当我试图将图表从excel工作表复制到word文档时,我遇到了一个下标超出范围的错误。我检查了工作表的名称,似乎没问题。我尝试更改为ThisWorkbook.Sheets(wsname),但收到应用程序定义类型错误。我如何着手解决这个问题 With ThisWorkbook.Worksheets(wsName) .ChartObjects(1).Activate ActiveChart.ChartArea.Copy End With 我试图引用的工作表的名称 我终于找到了问题所

嗨,当我试图将图表从excel工作表复制到word文档时,我遇到了一个下标超出范围的错误。我检查了工作表的名称,似乎没问题。我尝试更改为ThisWorkbook.Sheets(wsname),但收到应用程序定义类型错误。我如何着手解决这个问题

With ThisWorkbook.Worksheets(wsName)
   .ChartObjects(1).Activate
   ActiveChart.ChartArea.Copy
End With
我试图引用的工作表的名称


我终于找到了问题所在

因为我引用的是图表表而不是工作表,所以我必须使用.Charts而不是.worksheet。此外,由于它是一个图表表,图表表本身就是一个图表对象,因此不需要.ChartObjects(1),只需要.ChartArea.Copy

正确代码:

With ThisWorkbook.Charts(wsName)
  .ChartArea.Copy
End With

.ChartObjects(1).ChartArea.Copy
不起作用?因为此工作簿中的错误在。工作表(wsName)的范围下标表示工作表wsName在运行VBA的工作簿中不存在。您使用了错误的名称,或者使用了错误的工作簿(如果您打开了多个工作簿)。您好,这不可能是错误的工作簿,因为我正在使用此工作簿,它不可能是工作表名称,因为wsName是入口过滤器,如果有帮助,我试图参考的工作表是一张图表,使用
此工作簿
不能保证任何。。。Excel不再是MDI文档管理器,因此您需要使用对象限定工作表