我正在用excel构建一个模板/表单,不同的人在不同的计算机上使用它来填写一些信息,然后通过电子邮件发送给我。
填写模板时,我需要为字段分配一个唯一的 ID 号以及其他信息(有点像请求 ID)。我正在使用生成此唯一 ID
CONCATENATE("NER-";DEC2HEX(RANDBETWEEN(0;4294967295);8))
这个公式对我手头的任务很有帮助。
我的挑战是在模板中只评估一次这个公式,然后在我打开文件时保持它不变。类似于时间戳的东西。我已经研究了一些方法,但我似乎无法让它发挥作用。
我尝试过使用:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
With Target
If .Count > 1 Then Exit Sub
If Not Intersect(Range("A2:A10"), .Cells) Is Nothing Then
Application.EnableEvents = False
If IsEmpty(.Value) Then
.Offset(0, 1).ClearContents
Else
With .Offset(0, 1)
.NumberFormat = "dd mmm yyyy hh:mm:ss"
.Value = Now
End With
End If
Application.EnableEvents = True
End If
End With
End Sub
但我不知道如何将我的连接函数集成到代码中。当我在计算机上打开模板时,我也不太确定这是否会保持我的独特价值不变。
我猜想一种可以限制我在整个工作表中的迭代的方法也会对我有好处。