[英]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
這顯然沒有任何意義,因為ActiveSheet
與Sheets("Data")
是不同的工作表。
您可以改為:
Sheets("Data").Range("E3").Resize(1, rangeWidth).Value
在您的特定情況下,因為E
列是第5列,所以可以用rangeWidth
column - 4
列替換rangeWidth
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.