簡體   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