Excel-VBA现在的价值:第二

请有人协助。 我已经找了这个,但没有find合适的东西。 我有一个VBAmacros,当一个字符input到一个单元格中时,它将当前的计算机时间放置在相邻的单元格中。 我devise了一个比赛时间表,需要让赛车手完成比赛的时间。 挑战在于我正在使用

.Value =现在

命令,虽然我也使用了

.NumberFormat =“dd / mm / yyyy hh:mm:ss.00”

命令,我没有得到分裂秒。 它会返回一个值

03/10/2017 13:14:27.00

分裂秒总是0。

如果我简单地在Excel中使用NOW()公式并将数字格式更改为包含分割秒数,则计算机时间固有地包含分割秒数,并且在那里完美显示,但是在使用macros时,这是行不通的。

任何人都可以帮助我把时间降低到分秒级? 我的完整的代码为下面的macros:

Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim rCell As Range Dim rChange As Range On Error GoTo ErrHandler Set rChange = Intersect(Target, Range("B2:B1000000")) If Not rChange Is Nothing Then Application.EnableEvents = False For Each rCell In rChange If rCell > "" Then With rCell.Offset(0, 1) .Value = Now .NumberFormat = "dd/mm/yyyy hh:mm:ss.00" End With End If Next End If ExitHandler: Set rCell = Nothing Set rChange = Nothing Application.EnableEvents = True Exit Sub ErrHandler: MsgBox Err.Description Resume ExitHandler End Sub 

你可以像这样调用工作表函数

 .Value = [Now()]