一つのマンションを総当たりで訪問するためのチェック表を作成しています。
例えばセル範囲"C3:G7"でC1は101号室、C7は501号室、G7は505号室という具合に
googleスプレッドシートの行を階、列を部屋番号にしてセルを割りあてています。
部屋の住人に会えたら該当セルに訪問の日付を入力します。
一定期間に何回かそのマンションを巡回すると会えたお宅が訪問の日付で埋まっていき、会えないお宅だけが空欄で残ります。こうしたマンションが数十件あるのでボタンをクリックしてマンションごとのデータをクリアできるようにマクロを作成しました。
以下のように割り当てています。
/** @OnlyCurrentDoc */
function _101() {
var result=Browser.msgBox("本当にクリアしてよろしいですか?",Browser.Buttons.OK_CANCEL);
if(result=="ok"){
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('C3:G7').activate();
spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});
}
}
ここで今回質問したい内容ですが
新たに訪問しようとしている日からさかのぼって1年以上経過した日付の値だけをクリアしたいと考えています。つまり1年たったら会えていないお宅とみなすということです。
色々調べて
If cell < (today - 365) Then
cell.ClearContents
といったコードを入れてみましたがうまくいきません。
基本的なことができていないので、大急ぎで勉強中です。
良い案がありましたら教えていただけないでしょうか?
よろしくお願いします。
あなたの回答
tips
プレビュー