2014-10-03 67 views
0
Private Sub Workbook_Open() 
Dim onecell As Range 
Dim twocell As Range 
Dim threecell As Range 
Dim fourcell As Range 
Dim fivecell As Range 
Dim sixcell As Range 


Dim aCell As Range 

Set onecell = Range("B2:G21") 
Set twocell = Range("B25:G38") 
Set threecell = Range("B42:G55") 
Set fourcell = Range("J2:O21") 
Set fivecell = Range("J25:O38") 
Set sixcell = Range("J42:O55") 

Set aCell = Range("B2") 
onecell.Sort Key1:=aCell, Order1:=xlAscending, Header:=xlYes 
twocell.Sort Key1:=aCell, Order1:=xlAscending, Header:=xlYes 
threecell.Sort Key1:=aCell, Order1:=xlAscending, Header:=xlYes 
fourcell.Sort Key1:=aCell, Order1:=xlAscending, Header:=xlYes 
fivecell.Sort Key1:=aCell, Order1:=xlAscending, Header:=xlYes 
sixcell.Sort Key1:=aCell, Order1:=xlAscending, Header:=xlYes 

末次如何自動循環動態範圍以按日期排序?

這是我的工作。 http://i.stack.imgur.com/dkAJv.png

請忽略排序鍵。我還沒有完成那個領域。我會做的是分配一個特定的靜態單元,這將工作。我只問動態範圍。

我想要做的是通過每個框循環,並按照升序排序在那裏的條目。我迄今爲止的代碼只通過分配特定範圍的靜態方法來完成。我關心的問題是數據是否超出了方框。特別是,如果數據將超出這些框,我該如何添加一行?

此外,我該如何分配動態排序而不是靜態範圍?

+0

你看過命名的範圍嗎? – Sorceri 2014-10-03 15:08:42

+0

我確實研究過。但問題是我不知道如何循環每個框。 – 2014-10-03 17:12:07

回答

0

你應該看看currentRegion屬性(Range的屬性)。它是在按下CTRL + *時在Excel中選擇的範圍。

試一試。以CTRL + *選擇所需數據的方式製作表格。