- ベストアンサー
【Excel2003】変更履歴の保持【VBA】
Excel2003です。 変更履歴の保持をしたいと思っています。 変更履歴の記録を使ってもいいのですが、 必ず共有になってしまい、 とても使いづらいです。 そのため、共有にせず マクロでどうにか変更した履歴を保存できないでしょうか? どの部分を変更した、とかです。 どの部分を追加した、とかです。 できれば、 10/25 A2:おかし →A2:おやじ というような簡単な表示だと嬉しいです。 よろしくお願い致します
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
全く同じ質問が過去にもありますね。 複数セル対応は私もすっごくめんどうだと思います。 >複雑すぎ相当作りこまないと無理だと思うよ >複数セルコピー・貼り付けなどは捉えるのが難しい >単一セルのみなら何とか 'sheet1の変更をsheet2へ記録 Dim oldVal Private Sub Worksheet_Activate() oldVal = ActiveCell.Value End Sub Private Sub Worksheet_Change(ByVal Target As Range) Dim USta, myDate As Date, myTime As Date, i USta = ActiveWorkbook.UserStatus myDate = Left(USta(1, 2), InStr(USta(1, 2), " ") - 1) myTime = Right(USta(1, 2), Len(USta(1, 2)) - InStr(USta(1, 2), " ")) With Worksheets("sheet2") i = .Cells(Rows.Count, 3).End(xlUp).Offset(1).Row .Cells(i, 1).Value = oldVal .Cells(i, 2).Value = Target.Value .Cells(i, 3).Value = USta(1, 1) .Cells(i, 4).Value = myDate .Cells(i, 5).Value = myTime End With End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) oldVal = Target.Value End Sub
その他の回答 (1)
- sora1515
- ベストアンサー率58% (54/92)
別な観点としてバックアップフリーソフトなどを使うのが実用的ですよ。 指定したフォルダでファイルが作られる(変更される)たびにバックアップフォルダへ日付付きファイル名で保存。
お礼
回答ありがとうございます。 このExcelはみんなで使用するもののため、 そういったフリーソフトを使うのはあまり良くないのです。
お礼
回答ありがとうございます。 教えて頂いたマクロを参考に、色々考えてみたいと思います。