2012-12-18 55 views
-1

我有一個指定範圍,指的是範圍D3:I23,這個範圍是爲了某些自動化目的而明確定義的。增大範圍尺寸

最近我有一個更新,需要我重新定義這個範圍爲F3:I23並且最初排除列D & E。但進一步在各種邏輯編碼中,我需要包括E進行評估(將動態數據轉換爲靜態數據)。

正在考慮使用Resize但似乎沒錯。也認爲Offset,但是整個範圍向前或向後移動。我基本上需要調整的範圍內靠背1列,同時保留原始定義的範圍

在本質上我需要的命名範圍被定義爲F3:I23但是這一個代碼段期間我需要的範圍內進行評估以E3:I23

任何想法或在VBA中使用的範圍屬性的組合?在我通過參考時,它被存儲在一個Range對象中,所以任何鏈式屬性都是公平的遊戲。

請在回答時嘗試應用KISS策略。不需要是一個過於複雜的公式,因爲我不能保證是支持最終結果的公式。

+1

Resize和Offset方法通常用於此目的。這些方法爲您提供了一個可以內聯使用的Range對象,或者您可以爲調整大小/偏移範圍聲明一個新變量。 –

+0

Troller downvote,1/8/2014,超過1年後發佈此問題。 – GoldBishop

回答

4

雷切爾表示...這應該做的伎倆假設你的命名範圍定義爲namedRange:

Set neededRange = namedRange.Resize(namedRange.Rows.Count, _ 
       namedRange.Columns.Count + 1).Offset(0, -1) 

大小調整爲增加1個包含在列,然後通過-1列,以抵消整個範圍拿到你的neededRange

+1

+1爲'KISS'方法:) –