2016-09-08 91 views
0

我只是好奇,如果有一個簡單的方法幾乎做一個與VBA代碼頁面切割。讓我解釋一下。設置單元格範圍本身

讓我們說我們有一個NamedRange叫做LookUpTableData$A1:$D10 範圍內的每個單元格有不同的數據,數據我的意思是內容,而不是數據類型。

因此,讓我說我檢索這樣的VBA範圍。

CompleteModifiedRange = Range("LookUpTableData") 
'Now I make some changes to the data 
CompleteModifiedRange.Cells(1,1).Value = Blah 
CompleteModifiedRange.Cells(2,1).Value = Blah2 

所以真正的問題是,我該怎麼樣通過所有單元的整個範圍粘貼放回原處,而無需環路和設置呢?有點像這樣。

Set Range("LookUpTableData").Range = CompleteModifiedRange 

有沒有這樣的方法?

+0

有趣的是,你的第一行代碼演示瞭如何做到這一點,只是在反向(也就是[沒有'Set'](http://stackoverflow.com/q/3872339/11683))。 – GSerg

+0

[**使用'Option Explicit' **](http://stackoverflow.com/documentation/vba/3992/vba-option-keyword/13935/option-explicit#t=201609081401041799404)。如果'CompleteModifiedRange'正確地聲明瞭一個'Range'類型,事情就不會那麼令人困惑了。 –

回答

3

你基本上已經回答了你自己的問題。因爲你沒有使用Set,你CompleteModifiedRange變量實際上包含數組,因此,你不會使用Cells它:

Dim CompleteModifiedRange As Variant 
CompleteModifiedRange = Range("LookUpTableData").Value 
'Now I make some changes to the data 
CompleteModifiedRange(1,1).Value = Blah 
CompleteModifiedRange(2,1).Value = Blah2 
Range("LookUpTableData").Value = CompleteModifiedRange 
+0

謝謝,我試着直接分配它,但沒有工作。這工作。謝謝 – joeb

相關問題