宏从当前时间更改为其他时间

时间:2015-07-09 17:28:43

标签: excel vba excel-vba

我有一个时间戳宏,它在运行它的位置给出当前日期和时间。我还有两个单元格显示证券交易所的日期和时间(分别为L1和N1)。我需要timestamp宏来返回这两个单元格中给出的当前日期和时间。我迷失了如何在我当前的宏中更改它,我所知道的是=" = NOW()"必须改变。以下是我目前的情况。

Sub TimeStamp()
'
' TimeStamp Macro
'
' Keyboard Shortcut: Ctrl+Shift+T
'
    ActiveCell.FormulaR1C1 = "=NOW()"
    ActiveCell.Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    Application.CutCopyMode = False
End Sub

试图尽我所能,仍在学习VBA。还试图包括一张照片......还不行。希望它是一个开始。

2 个答案:

答案 0 :(得分:1)

您需要了解.Formula().FormulaR1C1()

之间的区别

阅读此信息https://social.msdn.microsoft.com/Forums/en-US/07417609-c70c-43d5-b495-d8db0f4e676c/difference-between-excelrangeformula-and-excelrangefomular1c1?forum=Vsexpressvb

然后尝试这个

  ActiveCell.Formula = "=CONCATENATE(L1,N1)"

答案 1 :(得分:0)

你只需要将TimeStamp放在单元格L1和N1中?你可以这样做:

范围(“L1”)。Formular1c1 =“= NOW()” 范围(“N1”)。Formular1c1 =“= NOW()”

或者,为了避免整个复制/粘贴部分,您可以创建一个String变量,并使用它来设置TimeStamp:

Sub test()
Dim timeStamp as String
timeStamp = now()
Range("L1").Value = str
Range("N1").Value = str
End Sub

编辑:啊,我误解了这个问题 - 我会离开这个,但很快就会删除。