2017-10-16 207 views
0

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

在下面的代码中,我只能设法复制活动单元格的整个行。时间戳被粘贴到目标工作表G列中的随机行中。大多数时候,它什么都不复制。

在此先感谢您的时间和帮助!

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

回答

0

尝试

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

至于时间戳,不要忘记,以引用 “第1天” 片材。

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

你有它的方式,你将时间戳到您的当前工作表(“第1天”)。我的猜测是,每当第2行恰好是活动行时,就会将整行(连同G2时间戳)复制到“第1天”表单的下一个空行中。这就是为什么时间戳全部出现在“随机”行中。

UPDATE:

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 
+0

太谢谢你了!您提到“第1天”(做出更改)是非常正确的。我正在寻找将时间戳粘贴到目标表中列G的最后一行(将数据复制到同一行)。如何调整以下代码中的范围:表格(“第1天”)。范围(“G”&lastRow)。值=现在再次感谢您的帮助! – Wendy

+0

为您更新了答案。试试看,让我知道它是如何为你工作的。 – xpofer

+0

这个伎俩,非常感谢!我调整了NextRow与以下所以我引用“第1天”工作表:NextRow =表(“第1天”)。范围(“A”和Rows.Count).End(xlUp).Offset(1).Row奇迹般有效! – Wendy