我試圖將一個數據從一個工作簿移動到另一個工作簿,方法是將一個範圍的值分配給另一個。當我使用正常的Range語法來指定目標範圍(Range(「A1:B2」))時,我的代碼可以工作,但是如果我嘗試使用Range,Cells語法(Range(Cells(1,1),Cells ,2)))我的代碼不起作用。爲什麼Range工作,但不是單元格?
我激活目標工作簿(ActiveWorkbook),並且具有在源工作簿(的ThisWorkbook)上運行的代碼。
此代碼:
ActiveWorkbook.Worksheets(1).Range("A1:B2").Value _
= ThisWorkbook.Worksheets(1).Range(Cells(1, 1), Cells(2, 2)).Value
但是這個代碼不:
ActiveWorkbook.Worksheets(1).Range(Cells(1, 1), Cells(2, 2)).Value _
= ThisWorkbook.Worksheets(1).Range(Cells(1, 1), Cells(2, 2)).Value
我得到的錯誤是運行時錯誤「1004」:一個應用定義或對象定義的錯誤。
有誰知道爲什麼使用單元格對象造成我的問題,或者如果有一些其他問題,我不知道?
這個答案是正確的,應該被標記爲如此。 – dnLL
無需限定範圍在指令'shDest.Range(shDest.Cells(1,1),shDest.Cells(2,2))。值= _ shSource.Range(shSource.Cells(1,1) (shDest.Cells(1,1),shDest.Cells(2,2))。Value = _ Range(shSource.Cells(1,shSource.Cells(2,2))。 ,1),shSource.Cells(2,2))。Value – h2so4