2012-10-16 251 views
0

首先我知道這個標題或接近它的其他類似問題,我已嘗試在頁面上的解決方案,但他們不工作。運行時錯誤'9'下標超出範圍 - 複製範圍

我想使用Excel VBA將一個範圍複製到另一個範圍。我從中複製的工作表是201209TB.xlsx和201210DB.xlsx。

單元格值是總和的結果,並且是單元格F396,需要複製到新工作簿中的單元格J10。這是我迄今爲止的代碼;

Sub CopyRange() 
' 
' CopyRange Macro 
' Copy range from TrialBalance to Dashboard 
' 
    Dim Rng1 As Range 
    Dim Rng2 As Range 
    Set Rng1 = Workbooks("201209TB.xlsx").Sheets("excel").Range("F396") 
    Set Rng2 = Workbooks("201210DB.xlsx").Sheets("Sheet1").Range("J10") 
    Rng1.Copy Rng2 
End Sub 

細胞代碼是= SUM(E409-E396)和結果應當是-2,214,534.78 由於


它被扔了一個誤差的原因,它正在試圖將工作簿使用未由其他代碼打開因爲對我而言

+0

請張貼了'Formula'是在'F396',你想在結果'J10' –

+0

請參閱修改最後一行是值 – JamesDev

+0

其他人對此有何幫助?不知道爲什麼它不起作用 – JamesDev

回答

1

一個錯誤。如果你想J10是一個公式=SUM(E409-E396) refereing的範圍上Workbooks("201210DB.xlsx").Sheets("Sheet1")使用

Rng2.Formula = Rng1.Formula 

如果你想J10Workbooks("201209TB.xlsx").Sheets("excel")使用

Rng2.Value = Rng1.Value 
+0

如果我們使用Rng2.Value = Rng1.Value來替換Rng1.Copy Rng2,那麼這不起作用 – JamesDev

+0

所以問題是我試圖在所有使用中的工作簿關閉的情況下運行此問題,現在問題已修復但作爲克里斯neilsen的答案做了一個更有效的工作,我會接受他的回答 – JamesDev

+0

它拋出一個錯誤的原因是,它試圖使用的工作簿沒有被其他代碼打開,由於我的錯誤 – JamesDev

相關問題