2012-12-06 52 views
1

我有一個包含數據塊和空行之間的電子表格。這些塊的大小各不相同。我有一個公式,自動填充原始數據,然後將其複製到其他空行,直到它到達下一個塊。我如何獲得它選擇下一塊數據,以便我的循環可以工作,因爲塊的大小總是在變化?最理想的是某種當前區域屬性,它排除活動單元格後面的數據,因爲當前狀態中的循環將活動單元格作爲每次迭代結束時新塊中的第一個單元格。如何從活動單元格中選擇未知範圍?

回答

0

無論何時我需要循環某些需要從區域移動到區域的東西,我最終會使用Offset(如Range(myRange).Offset(1,0))的組合並且通常是.End修改以確保我總是在範圍的最後。作爲例子(僞代碼)。

Dim lastCell As Range 
Dim neededCell As Range 

Set lastCell = ActiveRange.End(xlDown) 'picks the last cell down 
Set neededCell = lastCell.Offset(2, 0) returns the cell two rows down from the last cell in above range. 

警告,我這樣做了我的頭頂部,它可能需要一些調整,以實際工作......此外,還有xlLeft,xlRight和clUP如果你需要在這些方向上走。

此外,如果您需要選擇一個新的範圍,您可以通過簡單地選擇一個偏移範圍來完成。我的代碼可能有點骯髒(還是新的),但這應該起作用。

Dim bigRange as Range 
Set bigRange = ActiveSheet.Range(neededCell.Address & ":" & _ 
    neededCell.Offset(20, 20).Address) 

如果你開始neededCell在 「D5」,應該返回一系列的 「D5:X25」

相關問題