dポイントプレゼントキャンペーン実施中!

エクセルで変更履歴の記録をする場合、ブックを共有にする必要がありますが、共有にするとマクロの編集等ができなくなります。マクロの編集等をするため共有を解除すると変更履歴が消えてしまいます。
ブックの共有を解除しても履歴を保持する方法がありましたら教えてください。

もしくはVBAで、ワークシートに変更箇所が生じた場合、セルのコメントに変更履歴に準じて「変更したユーザー」「変更日時」「変更前セル内容」を自動的に表示させる方法があれば教えてください。
(行・列の挿入・削除には対応してなくても、セルの変更だけでも結構です)

よろしくお願いします。

A 回答 (2件)

質問後半の問題


Sheet1のシートモジュールに
Dim w
Private Sub Worksheet_Change(ByVal Target As Range)
Set buf = Target.Comment
If TypeName(buf) = "Comment" Then
MsgBox "セルにはコメントがあります"
Target.Comment.Text Text:=Str(Date) & Chr(10) & _
Application.UserName & Chr(10) & w
Else
MsgBox "セルにはコメントがありません"
Target.AddComment Str(Date) & Chr(10) & _
Application.UserName & Chr(10) & w
End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
w = Target
End Sub
イベント・プロを使ってますので、操作によっては、予想外のことが
起こるかもしれませんが、普通の操作ではOKのようです。
テストが終わったら、「 MsgBox "セルにはコメントがありません」(他1箇所)は削除のこと。

この回答への補足

早速ありがとうございます

だいたいやりたいことはこれで出来たのですが

(1)行・列の挿入、削除をすると「実行時エラー(13)型が一致しません」が出ます。エラーを出さない処理は出来ますでしょうか

(2)複数セルのコピペをすると実行時エラー(5)プロシージャの呼出または引数が不正です」が出るのと、コメントが挿入されません。エラー処理の方法、複数セル(BOX状)のコピペの場合でもコメントをつけることは出来ないでしょうか

よろしくお願いします

補足日時:2006/05/20 13:52
    • good
    • 0

個人間のパソコンでの管理では難しいのではないでしょうか。


Windows Server 2003から付いているアクティブディレクトリ機能を使うのが、一般的かと思います
    • good
    • 0
この回答へのお礼

やっぱり無理でしたか
ブックを共有するのが目的ではなく、変更履歴を
残しておきたいだけなのですが
VBAで処理するしかないようですね
ありがとうございました

お礼日時:2006/05/20 14:23

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!