私は、さまざまなコンピューターのさまざまな人が情報を入力してメールで送信するために使用するテンプレート/フォームを Excel で作成しています。
テンプレートが入力されているとき、他の情報 (リクエスト ID のようなもの) と共に一意の ID 番号をフィールドに割り当てる必要があります。を使用してこの一意の ID を生成しています
CONCATENATE("NER-";DEC2HEX(RANDBETWEEN(0;4294967295);8))
この式は、当面のタスクに役立ちます。
私の課題は、この数式をテンプレートで 1 回だけ評価し、受け取ったファイルを開いたときに同じ値を維持することです。タイムスタンプのようなもの。私はすでにいくつかの方法を調べましたが、それを機能させることができないようです。
私は以下を利用しようとしました:
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
しかし、連結関数をコードに統合する方法がわかりません。また、コンピューターでテンプレートを開いたときに、これが独自の値に影響を与えないかどうかもよくわかりません.
シート全体での反復を制限する方法も役立つと思います。