2017-10-21 87 views
0

我有一个电子表格,其中,如果所选择的小区是B2 Excel稍后将选择范围A2匹配值:E2,但如果B3的值是相同的B2那么范围将是A2:E3。如果在B2中有相同值的1,2,3,4,5等行的话,我也需要这样做。从起始细胞在Excel中选择的动态范围,并寻找在其他行

一旦进行了宏观的其余部分,我想它,然后返回到前一个选择的范围的结束和向下移动一行,并重复这个过程,直到满足列空单元格D. example of spreadsHeet

回答

1

在你的代码的开头,创建一个变量来保存ActiveCell地址:

Dim lastCell As String 
lastCell = ActiveCell.Address 

在你的代码的末尾,选择单元格,但是使用了Range +1行:

Range(lastCell).Offset(1, 0).Select 

然后你就可以查询新的活动单元格是否为空,并根据需要采取行动:

If ActiveCell.Value = "" Then 
    'cell is empty 
    Range(ActiveCell.Address).Offset(1, 0).Select 'move down another cell 
    '...do something here... 
Else 
    'cell is not empty 
    '...do something here... 
End If 
+1

仅供参考 - '范围(ActiveCell.Address)'可以简化为'ActiveCell'。 – YowE3K

+0

是的,很多代码都可以简化,但是我做得越短,人们似乎越是抱怨... :-) 这里是相同的代码: Dim l,r:l = ActiveCell:r = Range (L).Offset(1,0):r.Select:如果r = '' 然后极差(R).Offset(1,0).Select' – ashleedawg

+0

感谢您的帮助,我挣扎得到它来选择范围其调查结果栏A:问。 – Drewstein