【问题标题】:Lastrow not being identified due to merged cellsLastrow 由于合并单元格而未被识别
【发布时间】:2016-05-12 10:06:15
【问题描述】:

我有一个数据集,其中合并了一些单元格。

没有一列没有合并,有些列没有条目。

我想找到最后一行,以便将公式添加到一列直到最后一行。

目前我的最后一行是一个包含 2 个条目的合并单元格。我的公式已经添加到 倒数第二行。

这是我根据 A 列(已合并单元格)查找最后一行的代码。

lastrow = Range("A" & Rows.Count).End(xlUp).Row

由于合并的单元格,它只是没有拾取最后一行。我无法取消使用它们。

我想将最后一行用于以下代码:

Range("AB5") = "Age Year/Month"
    Range("AB6:AB" & lastrow).Formula = 
    "=DATEDIF(RC[-2],TODAY(),""Y"") & "" Years, "" & 
    DATEDIF(RC[-2],TODAY(),""YM"") & "" Months """

这适用于我最后一行以外的所有内容。

我还想将 today() 放在工作表上的某个位置,并引用上述公式中的单元格, 而不是一直使用 today() 我知道它是易变的。

关于合并单元格问题的最后一行有什么建议吗?抱歉,由于某种原因,它不允许我添加 cmets。

我无法添加图片,因为它是我正在使用的机密数据。 A 列是最完整的列,仅合并了 A 列中的最后 2 行。因此,最后一行实际上是最后一行并没有被拾取,而是将两个合并单元格中的第一个作为最后一个

【问题讨论】:

  • 我试过了,但是依赖 lastrow 的公式不起作用,它只是将公式作为文本放入单元格 AB6 到底部
  • 如果 lastrow 已合并单元格,那么最后一个单元格可能不在 Col A 中最后一个单元格的名称是什么?可以分享一下工作表的图片吗?
  • 抱歉,我现在才能够添加评论!我不能分享抱歉,因为它有机密数据。 . A 列是最完整的列,仅合并了 A 列中的最后 2 行。因此,最后一行实际上是最后一行并没有被选中,而是将两个合并单元格中的第一个作为最后一个

标签: excel vba merge


【解决方案1】:

为什么不试试

lastrow = Sheets("UrSheet").UsedRange.Rows.Count

试试下面的

Dim cel As Range
lastrow = Range("A" & Rows.Count).End(xlUp).Row
Set cel = Cells(lastrow, 1)
lastrow = lastrow + cel.MergeArea.Rows.Count - 1
MsgBox lastrow

【讨论】:

  • 我试过了,但是依赖 lastrow 的公式不起作用,它只是将公式作为文本放入单元格 AB6 的底部-
  • 这并没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方留下评论。 - From Review
  • @Magisch 但提问者被困在识别“lastrow”,如果解决了整个问题就解决了。
  • 我确实尝试了用户的建议,但结果我的公式在这行代码中显示为文本:(不知道为什么它不能正确显示代码,抱歉!) Range("AB5") = "年龄年/月" 范围("AB6:AB" & lastrow).Formula = "=DATEDIF(RC[-2],TODAY(),""Y"") & "" 年, "" & DATEDIF(RC [-2],TODAY(),""YM"") & ""月"""
  • 手动放入单元格时,您确定公式正确且工作正常。我也有疑问一个月不应该是“M”而不是“YM”
猜你喜欢
  • 1970-01-01
  • 2019-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-01
  • 2015-12-20
  • 1970-01-01
  • 2012-02-28
相关资源
最近更新 更多