将制定的值粘贴到静态表单的另一列中的代码

下面是一个代码,我必须将两个单元格中的信息logging到一个单元格中,只要刷新数据并运行macros。 顶部工作正常。 我无法弄清楚的部分是“End Sub”之前的最后一行。 代码的这一部分采用G3中给出的值并将其粘贴到D列的下一个可用行中(这与代码的顶部完全分开)。 我的问题是,它不是从第2行开始粘贴到D列。而是从第27行开始粘贴T列中的值。

我已经尝试搞乱了代码,看看我是否可以从第2行开始将代码粘贴到D列,但是我没有运气。

Sub TimeStamp() ' ' TimeStamp Macro ' ' Keyboard Shortcut: Ctrl+Shift+T ' ActiveCell.Formula = "=CONCATENATE(L1,N1)" ActiveCell.Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False ActiveSheet.Columns(4).SpecialCells(xlCellTypeLastCell).Offset(1, 0).Value2 = Range("G3").Value2 End Sub 

这将让你的macros工作。

 Sub TimeStamp() ' TimeStamp Macro ' Keyboard Shortcut: Ctrl+Shift+T With ActiveCell .Formula = "=CONCATENATE(L1,N1)" .Cells = .Value End With With ActiveSheet .Cells(Rows.Count, "D").End(xlUp).Offset(1, 0) = .Range("G3").Value2 End With End Sub 

虽然我毫不犹豫地推荐使用ActiveCell和ActiveSheet,但是您还没有提供足够的细节来明确地引用它们。 我怀疑ActiveCell实际上是G3,但这是不确定的。

请参阅如何避免使用Excel中的selectVBAmacros来获取更多的方法来摆脱依靠select和activate来实现您的目标。