我想选择合并单元格正下方的所有单元格。在Excel/VBA中为合并单元格下的所有单元格选择范围
因此,例如,如果单元格A3合并到H3,那么我想选择单元格A4到H20。 我不想在选择中包含合并的单元格,所以我不能只使用Range(“A4:H20”)。
我想要一种方法如何使用vba获取范围(A4:H20)。 任何帮助将不胜感激。
我想选择合并单元格正下方的所有单元格。在Excel/VBA中为合并单元格下的所有单元格选择范围
因此,例如,如果单元格A3合并到H3,那么我想选择单元格A4到H20。 我不想在选择中包含合并的单元格,所以我不能只使用Range(“A4:H20”)。
我想要一种方法如何使用vba获取范围(A4:H20)。 任何帮助将不胜感激。
您可以使用MergeArea
来获取列数,并将其与Offset
和Resize
一起用于定义范围。例如:
Sub BelowMerged()
Dim nRows As Long, nCols As Long
Dim rFirstCell As Range, rFinal As Range
nRows = 17
Set rFirstCell = ActiveSheet.Range("A3")
nCols = rFirstCell.MergeArea.Columns.Count
Set rFinal = rFirstCell.MergeArea.Offset(1, 0).Resize(nRows, nCols)
rFinal.Select
End Sub
实际上在我的excel表格中只有20行,但可以更高的行数 – 2014-12-08 12:32:33
没问题。如果你谷歌它,你会发现无数的方法来获取一个范围内的最后一个单元格的行号。只需使用其中一种方法将该号码分配给'nRows'。 – BobbitWormJoe 2014-12-08 19:42:59
第20行是您永远不会过去的实际限制吗?如果是这样,那么BobbitWormJoe的解决方案应该完全符合你的需求;否则,您可以轻松地更新他的一小部分代码以符合您的标准。 – 2014-12-07 22:25:58
其实在我的excel表格中只有20行,但可以更高的行号 – 2014-12-08 12:28:37