从起始单元格中选择Excel中的动态范围,并在其他行中查找匹配值

时间:2017-10-21 07:37:59

标签: excel-vba dynamic range vba excel

我有一个电子表格,如果所选单元格是B2,那么excel将选择范围A2:E2,但如果B3的值与B2相同,那么范围将是A2:E3。如果在B2中有相同值的1,2,3,4,5等行,我还需要这个。

一旦它执行了宏的其余部分,我希望它返回到前一个选定范围的末尾并向下移动一行并重复该过程,直到它遇到列D中的空单元格。 example of spreadsHeet

1 个答案:

答案 0 :(得分: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