【问题标题】:Select range for all cells below a merged cell in Excel/VBA为 Excel/VBA 中合并单元格下方的所有单元格选择范围
【发布时间】:2014-12-07 18:34:41
【问题描述】:

我想选择合并单元格正下方的所有单元格。

例如,如果单元格 A3 合并到 H3,那么我想选择单元格 A4 到 H20。 我不想在选择中包含合并的单元格,所以我不能只使用 Range("A4:H20")。

我想要一种如何使用 vba 获取范围(A4:H20)的方法。 任何帮助将不胜感激。

【问题讨论】:

  • 第 20 行是您永远不会超过的实际限制吗?如果是这样,那么 BobbitWormJoe 的解决方案应该完全符合您的需要;否则,您可以轻松地更新他的代码以符合您的标准。
  • 实际上在我的excel表中只有20行但它可以更高的行数

标签: vba excel


【解决方案1】:

您可以使用MergeArea 获取列数,并将其与OffsetResize 结合使用来定义范围。示例:

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行但它可以更高的行数
  • 没问题。如果你用谷歌搜索,你会发现很多方法来获取范围内最后一个单元格的行号。只需使用其中一种方法将该号码分配给nRows
猜你喜欢
  • 2012-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-26
  • 1970-01-01
  • 1970-01-01
  • 2014-12-08
相关资源
最近更新 更多