首页 > 解决方案 > 选择具有空白行的列,没有特定的单元格范围

问题描述

在此处输入图像描述

我有一个文件,我希望我的宏在其中找到特定的标题,然后选择该特定列中的所有数据。此列之间有空白行。例如我想选择产品列(见屏幕截图)。

这里的挑战是我不能使用 rows.count 代码,因为该列可能会不时更改,而且我不能使用任何特定的单元格范围来编写我的代码。

我也无法选择整列,因为我需要从两个不同的选项卡复制产品并将它们粘贴到一个文件中。

有没有办法可以使用活动单元格编写代码并从上到下选择范围?

Sheets("PB").Select
Cells.Find(What:="product").Select
ActiveCell.Offset(1, 0).Select

标签: excelvba

解决方案


您的代码是一个好的开始,正如您所说,您只需要以可靠的方式选择行数。

所以得到我们要挖掘空白的范围:

Set rngTopCell = Range(ActiveCell.Offset(1, 0)
Set rngBottomCell = ActiveCell.Offset(ActiveCell.CurrentRegion.Rows.Count, 0)
Set rngProductColumn = Range(rngTopCell, rngBottomCell)

然后得到该范围内的空白:

Set rngProductBlanks = rngProductColumn.SpecialCells(xlCellTypeBlanks)

这种方法避免了对特定列的依赖。


推荐阅读