>>742 感じがよかったのでちょっと凝ったものをプレゼント
『my履歴』っていう名前のシートを作ったあと
VBを開いて(alt + F11)、入力するシートの所に下のコードを張れば、
A1を変更するたびにB1に加算+my履歴に日付と値が入ります
なお、当日中に再変更した場合、前日のデータから計算しなおします。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim mydaterng As Range
If Target.Row <> 1 Then Exit Sub
If Target.Column <> 1 Then Exit Sub
If MsgBox("変更した値をB1に加算しますか?", vbYesNo, "確認") <> vbYes Then Exit Sub
Set mydaterng = ThisWorkbook.Sheets("my履歴").Cells(65536, 1).End(xlUp)
If mydaterng.Value = Date Then
If MsgBox("本日の変更をやり直しますか?", vbYesNo, "確認") <> vbYes Then Exit Sub
Range("b1").Value = mydaterng.Offset(-1, 1).Value + Target.Value
mydaterng.Offset(0, 1).Value = Range("B1").Value
Else
Range("b1").Value = Range("b1").Value + Target.Value
mydaterng.Offset(1, 0) = Date
mydaterng.Offset(1, 1) = Range("B1").Value
End If
End Sub