繁体   English   中英

如何从Excel VBA中获取其他表格中的数据的一系列单元格?

[英]How to get a range of cells in excel vba taking data from other sheet?

我正在尝试使用VBA在Excel工作簿的工作表中获取图形的数据。 我需要的数据范围在同一工作簿中,但在不同的工作表中。

我需要以单元格格式编写该范围,因为该列并不总是相同的,它在每次执行中都会改变,我的意思是:

Range(Cells(3,5),Cells(3,column).value

从其他工作表中获取数据时出现问题。

如果我写:

ActiveChart.SeriesCollection(1).Values = ActiveSheet.Range(Cells(3,5),Cells(3,column).Value

我没问题,一切都很好。 但是当我从其他工作表中获取数据时:

ActiveChart.SeriesCollection(1).Values = Sheets("Data").Range(Cells(3,5),Cells(3,column).Value

我得到一个

运行时错误“ 1004”:应用程序定义或对象定义的错误

仅当我使用“单元格”格式指定范围时才会发生这种情况。 如果我使用Range("E5:J5").Value格式,则数据表没有问题,但是以这种格式,我不能或不知道如何在每次执行中指定列。

因为Cells资格不正确,您会收到此错误。 意思是,在这段代码中

Sheets("Data").Range(Cells(3,5),Cells(3,column)).Value

你暗中说的是

Sheets("Data").Range(ActiveSheet.Cells(3,5),ActiveSheet.Cells(3,column)).Value

这显然没有任何意义,因为ActiveSheetSheets("Data")是不同的工作表。

您可以改为:

Sheets("Data").Range("E3").Resize(1, rangeWidth).Value

在您的特定情况下,因为E列是第5列,所以可以用rangeWidth column - 4列替换rangeWidth

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM