繁体   English   中英

选择没有标题的动态范围

[英]Select dynamic range without header

如果列B中存在数据,我想选择范围A2:BG2中的所有行。行2是标题。

几乎可以工作:

Set rng = Range("A2:BG2").Resize(Cells(Rows.Count, "B").End(xlUp).Row)
rng.Select

但是它在选择中包括最后一行,其后是空白行,其中B中有数据。例如,我在B2:B6中有数据,但这将选择2-7行。 偏移似乎只是在改变整个动态范围。 我想念什么?

问题出在你的

Cells(Rows.Count, "B").End(xlUp).Row

您要计算A1(第一行)中的已用行,但范围是从A2(第二行)开始,因此它将在底部添加额外的空白行。 因此,要消除这种情况,只需减去不必要计数的行。

Cells(Rows.Count, "B").End(xlUp).Row

最终代码将为

Set rng = Range("A2:BG2").Resize(Cells(Rows.Count, "B").End(xlUp).Row - 1)
rng.Select

希望这可以帮助您解决难题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM