自动日期/时间戳有时不起作用

时间:2018-10-02 14:21:49

标签: excel-vba

我不确定是否是因为我使用的是Office 2016,或者我的文件太大(450KB),但有时我的日期/时间戳代码不起作用(运行时错误)。我相信我在使用excel 2013时便开发了代码和表格。

代码是:

viewHolder.animatedRecyclerView.invalidate()

1 个答案:

答案 0 :(得分:0)

  1. 将两个单元格写入一起;最初的两个引用了相同的范围。
  2. 将尾随空格放入单元格编号/日期格式。实际值中的尾随空格可能会将值更改为文本。
  3. 在您真正需要它之前,无需设置或声明任何内容。不要声明您不打算使用的vars。
  4. 稍微进行错误控制永远不是坏事。

代码重写:

Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Intersect(Range("C16:C101"), Target) Is Nothing Then
       on error goto safe_exit
       Application.EnableEvents = False
       Dim CC As Range
       For Each CC In Intersect(Range("C16:C101"), Target)
           If CC.Value <> "" Then
               CC.Offset(, -1).Value = Time
               CC.Offset(, -2).Value = Date
               CC.Offset(, -1).NumberFormat = "hh:mm_)"
               CC.Offset(, -2).NumberFormat = "mm/dd/yy_)"
           End If
       Next CC
    End If

safe_exit:
    Application.EnableEvents = True

End Sub