質問: ユーザーが行ったすべての変更をユーザー名で新しいシートに記録する 私はexcelシートデータベースを持っています。複数のユーザーが異なるwindowsアカウントからログインしてフィールドに入力します。変更とエントリを同じexcelファイルの別のシートに記録する方法はありますか。上記ができれば、そのシートを保護して、ユーザーが変更できないようにできると思います。これの目的は、変更の痕跡を保持することです。監査シートをログに記録したい。 1.日付と時刻2.ユーザーのユーザー名(各ユーザーは自分のwindows/excelアカウントにログインします)3。変更されたフィールド4.フィールドの古い値5.フィールドの新しい値前もって感謝します!
回答: vbaに精通していないようです。質問のタグを要求したり含めたりしていないため、変更の追跡を使用する方がよいでしょう。1。ブックを共有ブックとして保存するには、次の手順に従います: [レビュー]タブに移動します。 [ブックの共有]をクリックします。 チェックボックスにチェックマークを付けて、一度に複数のユーザーによる変更を許可します。[ok]をクリックし、プロンプトが表示されたらブックを保存します。 nb:ブックが保存されるたびに、すべての変更が自動的にログに記録されるようになりました。2。すべての変更を表示します。 ブックを保存します。 [レビュー]タブに移動します。 [変更の追跡]をクリックしてから、[変更を強調表示]をクリックします。 「いつ」を「すべて」に変更します。 「who」を「everyone」に変更します。 [変更を強調表示]のチェックを外します。 「新しいシートに変更をリストする」にチェックマークを付けます。 [ok]をクリックします。 nb:excelは「履歴」という名前の新しいシートを作成し、日付、時刻、ユーザー名とともにすべての変更を記録します。これがお役に立てば幸いです。vbaコードが必要な場合はコメントを削除してください。