- ベストアンサー
エクセル表のセル内データ更新と同じ行の最終更新日の自動更新方法
- エクセルで作成した表で、表の中のデータを更新した場合に、その行の最後の列の「最終更新日」の日付を自動的に更新する方法を探しています。
- 具体的には、エクセルで1行目のA列に「データのキーワード」、B列に「データのハイパーリンク」、C列に「データ記入者」、D列に「最終更新日」の項目を作成し、2行目以降に作成した各データをA~Cの項目に従って記入してデータ一覧表を作成しています。
- その際に、A,C列の項目を更新した時と、B列項目のリンクを開いた時に、同じ行D列の最終更新日の日付を自動で入力及び更新する方法はないでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
シート見出しで該当のシート名を右クリックして「コードの表示」を選択します。 表示の画面に下記のコードを入力します。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Or Target.Column = 2 Or Target.Column = 3 Then Range("D" & Target.Row).Value = Date End If End Sub これでA,B,C列のデータが更新されることでD列の日付が今日の日付に変わります。
その他の回答 (1)
- shinkami
- ベストアンサー率43% (179/411)
全自動ではありませんが、更新したいセルをダブルクリックで 今日(today())に設定します。 マクロ処理(VBA)になりますがマクロを実行するにはきっかけ(イベント)が必要ですが セル単位のイベントを設定することができません イベント設定できるのは ・コマンドボタンを配置してマクロをリンクする ・Worksheetで使えるイベントの一つを使用 Worksheetのダブルクリックイベントを使用します。 1.マクロ記録 ・[ツール]-[マクロ]-[新しいマクロ]-[本日貼り付け]-[OK]-[Fx]-[Today()] ー[コピー]-[右クリック]-[形式を指定して貼り付け]-[値]-[記録終了] 2.本日貼り付けマクロをWorksheetのダブルクリックイベントに設定 ・[ツール]-[マクロ]-[VisualBasicEditer]-[sheet]-[worksheet] -[Doubleclick]-[本日貼り付け] 上記ステップはクリックまたはダブルクリックで次のステップに進みます。 出来あがったBASICコードより余分なものを除去すると次になります。 Sub 本日貼り付け() ActiveCell.FormulaR1C1 = "=TODAY()" Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub _______________________________ Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 本日貼り付け End Sub
お礼
遅くなって済みません。 ご回答ありがとうございました。
お礼
遅くなって申し訳ありません。 ご回答ありがとうございます。 教えて下さったコードで概ねできました! あと、ハイパーリンクのセルについては、リンクをクリックしても日付更新はされませんでした。 もしこちらの方法もご存知でしたら補足頂ければ幸いです。 以上、宜しくお願い致します。