- ベストアンサー
【エクセル】行の最終更新日を、あるセルに自動で入力させる方法。
エクセルの表で、ある行のデータを更新した時、 その行の最末尾に作っておいた項目名「最終更新日」というセルのデータに 自動的に更新日時が入力されるようにするにはどのようにすればよいでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
No.1です。 すみません、縦横を間違えていましたか。これは失礼しました。 書き換える所はいっぱいあるので、とりあえずマクロを以下のものに置きかえていただけますか?(データの入力範囲の箇所だけ修正してください) Private Sub Worksheet_Change(ByVal Target As Range) Dim MyRng As Range, R As Range, L As Range Dim LastUpdated As Integer Set MyRng = Intersect(Target, Range("B2:D6")) If MyRng Is Nothing Then Exit Sub Set L = Rows(1).Find("最終更新日") If L Is Nothing Then Exit Sub LastUpdated = L.Column For Each R In MyRng.Rows Cells(R.Row, LastUpdated) = Now Next End Sub
その他の回答 (1)
- ham_kamo
- ベストアンサー率55% (659/1197)
A列に項目名が入っており、「最終更新日」という項目名が書いてあるとします。 シートタブを右クリックし、「コードの表示」を選択するとVBAの画面が出るので、右の画面に以下のマクロをコピーして貼り付けてください。その際、3行目の"B2:D6"は実際にデータが入るセル範囲に書き換えてください。 Private Sub Worksheet_Change(ByVal Target As Range) Dim MyRng As Range, R As Range, L As Range Dim LastUpdated As Integer Set MyRng = Intersect(Target, Range("B2:D6")) If MyRng Is Nothing Then Exit Sub Set L = Columns("A").Find("最終更新日") If L Is Nothing Then Exit Sub LastUpdated = L.Row For Each R In MyRng.Columns Cells(LastUpdated, R.Column) = Now Next End Sub Alt+F11でExcelの画面に戻り、セルに入力をすると最終更新日が自動的に更新されます。 最終更新日の行はあらかじめ日付と時刻に書式設定しておいてください。
補足
できました! ありがとうございます。 差し支えなければ教えていただきたいのですが、 「A列に項目名が入っている表」ではなく「1行目に項目名が入っている表」だった場合は どこを書き換えればよいのでしょうか?
お礼
できました! ご親切に二度もお答えくださってありがとうございました。 大変に分かりやすかったです。 本当にありがとうございました。