我想編寫一個從第二個excel文件訪問日期的excel-vba模塊。 我首先想要打開第二個文件到一個vba範圍的對象,複製工作表範圍到一個vba範圍對象,然後關閉第二個文件。VBA Excel - 將範圍從第二個文件複製到vba範圍對象
數據處理現在只發生在vba範圍對象上。
我嘗試了以下內容:
Set oMeasuresWorkbook = Workbooks.Open(sMeasuresFileName)
Set oSrcRange = oMeasuresWorkbook.Names("MEASURES").RefersToRange
MsgBox oSrcRange(1, 1)
oMeasuresWorkbook.Close
'problem: after closing the second file (oMeasuresWorkbook) the
oSrcRange Object is gone
MsgBox oSrcRange(1, 1) 'error here as the oSrcRange Object is gone
一切工作正常,直到我關閉第二個文件。看起來,oSrcRange是對原始數據的引用。順便說一句。同樣的行爲,如果我通過例如訪問範圍。
設置oSrcRange = oMeasuresWorkbook.Sheets(1).Range( 「A:G」)
那麼我將如何 「深拷貝」 的範圍內。我嘗試range.copy,但semmingly我不知道我會如何初始化範圍對象(我不想將數據複製到工作表)。
我希望我讓自己清楚和sody可以幫助
thanx!
不太確定我明白,在關閉「oMeasuresWorkbook」之後,您想「複製」oSrcRange?爲什麼不在你關閉它之前複製它? –
你應該使用數組,你的代碼運行速度會快很多。如果你仍然想要複製數據,就像你上面說的那樣,你應該使用vector(在你操作第2個文件之後,你需要將第二個excel文件中的數據存儲到vector中,然後你可以關閉你的2 excel文件),之後,你可以隨心所欲地玩矢量.......但我的推理是使用你需要的數組 – Ionut