為什么范圍工作,而不是細胞?我試圖通過將值從一個范圍分配到另一個工作簿,將一些數據從一個工作簿轉移到另一個工作簿。當我使用普通范圍語法來指定目標范圍(“A1:B2”)時,我的代碼可以工作,但是如果我嘗試使用范圍,單元格語法(范圍(單元格(1,1),單元格(2,2)不能工作。我激活目標工作簿(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’:應用程序定義的或對象定義的錯誤。有誰知道為什么使用Cells對象會給我帶來問題,或者是否還有其他我不知道的問題?
2 回答

三國紛爭
TA貢獻1804條經驗 獲得超7個贊
Cells
Range
Cells
Rows
UsedRange
在工作表的類模塊中:不管什么是活動的 在任何其他模塊中:ActiveSheet
Range
Cells
ThisWorkbook.Worksheets(1).Range(ActiveSheet.Cells(1, 1), ActiveSheetCells(2, 2)).Value
With Sheets(1) .Range(.Cells(1,1), .Cells(2,2)).Value = "something"End With
Dim shSource As WorksheetDim shDest As WorksheetSet shSource = ThisWorkbook.Worksheets(1)Set shDest = Workbooks("myBook"). Worksheets(1)shDest.Range(shDest.Cells(1, 1), shDest.Cells(2, 2)).Value = _ shSource.Range(shSource.Cells(1, 1), shSource.Cells(2, 2)).Value
Cells
shDest.Cells(1, 1).Resize(2, 2).Value = shSource.Cells(1, 1).Resize(2, 2).Value

繁星點點滴滴
TA貢獻1803條經驗 獲得超3個贊
shDest.Range(shDest.Cells(1, 1), shDest.Cells(2, 2)).Value = _ shSource.Range(shSource.Cells(1, 1), shSource.Cells(2, 2)).Value
Range(shDest.Cells(1, 1), shDest.Cells(2, 2)).Value= _ Range(shSource.Cells(1, 1), shSource.Cells(2, 2)).Value
添加回答
舉報
0/150
提交
取消