【问题标题】:Pasting Timestamp Into Final Row of Column将时间戳粘贴到列的最后一行
【发布时间】:2018-03-27 13:57:23
【问题描述】:

我使用以下宏的目标是将对应于活动单元格行的 A 列复制到 F 列,将这些列中的数据粘贴到工作表“第 1 天”中,并在 G 列的第一个空白行中目标工作表,粘贴时间戳。

在下面的代码中,我只能设法复制活动单元格的整行。时间戳粘贴在目标工作表 G 列的随机行中。大多数情况下,它不会复制任何内容。

提前感谢您的时间和帮助!

    ActiveCell.EntireRow.Copy Destination:=Sheets("Day 1").Range("A" & Rows.Count).End(xlUp).Offset(1)
Range("G2").Value = Now()

【问题讨论】:

    标签: excel vba timestamp range


    【解决方案1】:

    试试

    Range("A" & ActiveCell.Row & ":F" & ActiveCell.Row).Copy Sheets("Day 1").Range("A" & Rows.Count).End(xlUp).Offset(1)
    

    至于时间戳,别忘了参考“Day 1”表。

    Sheets("Day 1").Range("G2").Value = Now
    

    按照您的方式,您将时间戳插入到您的当前工作表中(不是“第 1 天”)。我的猜测是,每次第 2 行恰好是活动行时,您将整行(连同 G2 时间戳)复制到“第 1 天”工作表的下一个空行中。这就是时间戳出现在“随机”行中的原因。

    更新:

    dim NextRow as Long
    
    NextRow = Range("A" & Rows.Count).End(xlUp).Offset(1).Row
    Range("A" & ActiveCell.Row & ":F" & ActiveCell.Row).Copy Sheets("Day 1").Range("A" & NextRow)
    Sheets("Day 1").Range("G" & NextRow).Value = Now
    

    【讨论】:

    • 非常感谢!关于引用“第 1 天”(进行了更改),您是非常正确的。我希望将时间戳粘贴到目标表中 G 列的最后一行(数据复制到的同一行)。我将如何调整以下代码中的范围: Sheets("Day 1").Range("G"&lastRow).Value = Now 再次感谢您的帮助!
    • 为您更新了答案。试一试,让我知道它对你有什么作用。
    • 这成功了,非常感谢!!我使用以下内容调整了 NextRow,因此我引用了“第 1 天”工作表: NextRow = Sheets("Day 1").Range("A" & Rows.Count).End(xlUp).Offset(1).Row像魅力一样工作!
    • 不错的收获。你是绝对正确的!乐于助人。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-16
    • 1970-01-01
    • 1970-01-01
    • 2020-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多