見出し画像

042_質問:更新された行のAA列に更新された日が表示される数式、またはマクロを教えてください。

 心が折れそうで、仕事ガッツリの今日この頃。
 手動の作業をうっかり忘れそうになって、慌ててしまった。
 もう手動は嫌なので、この作業を効率化できるかどうかをAIくんに尋ねます。

 質問者:
スペックはExcel2010ぐらい
A~Z列×30行のリストがあります。
リストのB~Z内容が更新されたら
更新された行のAA列に更新された日が表示される数式、またはマクロを教えてください。
小学生に教えるよう
箇条書きで指示していただけると助かります。

AI回答:
以下は、更新された列に日付を挿入する方法の簡単なステップバイステップガイドです。

Visual Basicエディタを開くために、「開発」タブをクリックします。
新しいマクロを作成するために、「マクロ」ボタンをクリックします。
好きなマクロ名を入力し、「作成」をクリックします。
新しいマクロウィンドウが表示されたら、次のコードを入力します:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column >= 2 And Target.Column <= 26 Then
        Cells(Target.Row, 27) = Now()
    End If
End Sub

マクロを保存して閉じます。
マクロを有効化するために、Excelファイルを再起動するか、セキュリティ設定を変更して、マクロの実行を許可します。

これで、リストのB~Z列が更新されたとき、更新された行のAA列に現在の日付が自動的に挿入されます。

質問者:ん? これはもしかして、使えるヤツでは?

質問者:
他にも使うかもしれませんので
上記入のコードの部分を
解説していただけると助かります。

AI回答
こちらはVBA (Visual Basic for Applications)を使用したExcelのマクロになります。

具体的には、ワークシートの変更を検知し、B列からZ列のいずれかが更新された行に対して、現在の日時をAA列に挿入する処理を行うマクロになります。

コードの具体的な解説を以下に記載します。

Worksheet_Changeイベント
Private Sub Worksheet_Change(ByVal Target As Range)

Worksheet_Changeイベントは、ワークシート上でセルの変更があったときに自動的に呼び出されるイベントです。このイベントを使って、セルの変更を検知し、対象の行に日付を挿入します。

列の判定
If Target.Column >= 2 And Target.Column <= 26 Then

この行は、Target変数がB列からZ列のいずれかであるかどうかを判定しています。列番号は2から26の範囲になります。

日付の挿入
Cells(Target.Row, 27) = Now()

Cells関数を使って、Target変数で指定された行の27列目に現在の日時を挿入しています。27列目はAA列に相当します。

以上が、このマクロの具体的な解説となります。

質問者:

というか、わたしのメンタルが崩壊している原因って
家に帰ってもAI使って、マクロとか作らせているのが原因なのでは……?

#日記
#日常
#AI
#ChatGPT
#交流
#ChatGPTに訊いてみた
#Excel
#Excel_VBA

この記事が気に入ったらサポートをしてみませんか?