Excel VBA - 选择不包括标题的动态单元格范围

时间:2013-06-20 21:03:46

标签: excel vba excel-vba

我正在尝试分析电子表格中的大量数据。记录正在被添加,一直被删除。我的标题位于第一行,我不想选择。我想要做的是选择特定从单元格B2开始的单元格,动态地记录所有记录的末尾,包括列方式和行方式。换句话说,只选择从单元格B2开始的数据记录。

到目前为止,我一直试图实现的代码如下:

Range(Cells(B2, Rows.Count).End(xlToLeft), Cells(2, Columns.Count).End(xlToLeft)).Select

哪个不起作用。任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:1)

如果您的范围是连续的,您可以尝试这样做:

Range("B2", range("B2").end(xlToRight).End(xlDown)).select

顺便说一句,可能有很多其他类似结果的解决方案。我试图尽可能地缩短它(根据提供的信息)。

答案 1 :(得分:0)

有很多方法可以做到这一点。我发现我根据数据结构使用不同的方法。 一种方法是:

activesheet.range("B2:" &  Activesheet.cells(2,2).specialcells(xlcelltypelastcell).address).select

您可以像我上面那样使用范围地址,也可以提供结束和启动单元格,如下所示:     使用ActiveSheet         .Range(.Cells(2,2),。Cell(.UsedRange.Rows.Count,.UsedRange.Columns.Count))。选择     

结束

另外,作为参考,有一些选项,如intersect和union,可能很有用:     使用ActiveSheet         Application.Intersect(ActiveSheet.UsedRange,Rows(" 2:1048576"))。选择     

结束

它一直在继续。我认为第一个例子很可能会让你摆脱困境......