私は、以下のコードを使用して、仕事をCompleted
に変更すると、従業員の優先順位リストにタイムスタンプを付けています。コードはうまく動作しますが、変更を追跡したいセルごとに複製する必要があります。Worksheet_SelectionChange - 別の列のタイムスタンプ
理想的には、私はコードに全く同じ機能を持たせて圧縮したいので、範囲M5:M2500
、セルM250
をCompleted
に変更した場合は、Y5:Y500
を参照して、セルにY250
というタイムスタンプを貼り付けます。
うまくいけば、これは意味があり、どんな提案もありがとう!
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$M$5" Then
Call Complete5
End If
If Target.Address = "$M$6" Then
Call Complete6
End If
End Sub
Sub Complete5()
ActiveSheet.Unprotect Password:="unlock"
If InStr(1, Range("$M$5"), "Completed") > 0 Then
Range("$Y$5").Select
ActiveCell.FormulaR1C1 = "=NOW()"
ActiveCell.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("$M$5").Select
Else
Range("$Y$5").Select
ActiveCell.ClearContents
Range("$M$5").Select
End If
End Sub
Sub Complete6()
ActiveSheet.Unprotect Password:="unlock"
If InStr(1, Range("$M$6"), "Completed") > 0 Then
Range("$Y$6").Select
ActiveCell.FormulaR1C1 = "=NOW()"
ActiveCell.Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("$M$6").Select
Else
Range("$Y$6").Select
ActiveCell.ClearContents
Range("$M$6").Select
End If
End Sub
「交差する」と推測しますか? – findwindow