実現したいこと
GASを使ってセルを更新した日時を自動で入力したいです。
理想としては、「回答」シートの1行目以降のF列が更新されると、「回答」シートのN列へ更新日が入力されるようにしたいです。
現状、「回答」シート単体では、理想的に動くことを確認できているのですが、1つ問題があります。
それは、別のシートの1行目以降のF列が更新がされた場合も「回答」シートのN列へ更新日を入力されてしまうのです。
どのようにコードを編集すれば、上記問題を解決できますでしょうか。
最終的に「回答」シートの1行目以降のF列が更新された場合のみ、「回答」シートのN列へ更新日を入力したいです。
該当のソースコード
function inputTime() { var ss = SpreadsheetApp.getActiveSpreadsheet(); //現在触っているファイルを取得 var sheet = ss.getSheetByName('回答'); //対象のシート名を選択 var currentRow = sheet.getActiveCell().getRow(); //アクティブなセルの行番号を取得 var currentCol = sheet.getActiveCell().getColumn(); //アクティブなセルの列番号を取得 var currentCell = sheet.getActiveCell().getValue(); //アクティブなセルの入力値を取得 var updateRange = sheet.getRange('N' + currentRow); //どの列に更新日時を挿入したいか Logger.log(updateRange); //更新日の記入 if(currentRow > 1 && currentCol == 6) { //1行目以降かつ6列目(F列)の変更を参照とする if(currentCell) { updateRange.setValue(new Date()); } } }
試したこと
入力先は指定できているので、アクティブなセルが「回答」シートを編集しているときのみにできればと考え調べたのですが、結局わからずでした。
補足情報(FW/ツールのバージョンなど)
参考にさせていただいたページ
https://gadgelaun.com/?p=22799
初めて質問させていただくため、何か情報が不足しておりましたらお知らせください。
よろしくお願いいたします。
過去に似たようなご質問がありましたのでよかったらご参考にどうぞです。
https://teratail.com/questions/el0ohlnslqiisf

回答1件
あなたの回答
tips
プレビュー