ユーザーが行ったすべての変更をユーザー名の新しいシートに記録する

ユーザーが行ったすべての変更をユーザー名の新しいシートに記録する

Excel シート データベースがあり、複数のユーザーが異なる Windows アカウントを使用してログインしてフィールドに入力します。同じ Excel ファイル内の別のシートに変更とエントリを記録する方法はありますか。

上記のことが実行できるのであれば、ユーザーが変更できないようにそのシートを保護するだけでよいと考えています。その目的は、変更の履歴を残すことです。

監査シートに記録したいのは、1.日付と時刻、2.ユーザー名(各ユーザーは自分のWindows/Excelアカウントにログインします)3.変更されたフィールド、4.フィールドの古い値、5.フィールドの新しい値です。

前もって感謝します!

答え1

あなたは VBA に精通していないようですし、質問にタグを要求したり含めたりもしていないので、変更履歴の追跡を使用する方がよいでしょう。

1. ワークブックを共有ワークブックとして保存するには、次の手順に従います。

  • [レビュー] タブに移動します。
  • [ワークブックの共有] をクリックします。
  • 一度に複数のユーザーによる変更を許可するには、チェックボックスをオンにします。プロンプトが表示されたら、[OK] をクリックしてワークブックを保存します。

注意:ワークブックが保存されるたびに、すべての変更が自動的に記録されるようになりました。

2. すべての変更を確認します。

  • ワークブックを保存します。
  • [レビュー] タブに移動します。
  • 「変更の追跡」をクリックし、「変更を強調表示」をクリックします。
  • 「いつ」を「すべて」を表示するように変更します。
  • 「誰」を「全員」と表示するように変更します。
  • 「変更点を強調表示する」のチェックを外します。
  • 「新しいシートに変更をリストする」にチェックを入れます。
  • [OK]をクリックします。

注意: Excel は「履歴」という名前の新しいシートを作成し、日付、時刻、ユーザー名とともにすべての変更を記録します。

これがお役に立てば幸いです。VBA コードが必要な場合はコメントを残してください。

関連情報