• ベストアンサー

Excelでtodoリストを作る方法

Excelで下記のようなToDoリストを作りたいと考えています。 処理済みになったらD列にチェック(*等の一定の値か完了した日付)を入力し、 チェックのついた行だけを削除もしくは非表示させたいです。 チェックを入力した瞬間に削除するのではなく、 一旦確認してから処理を行いたいので、 マクロを使った処理の仕方を教えていただきたいです。 出来れば削除の場合と非表示の場合の 2パターンを教えていただけると助かります。 また期限が近いものに関しては、 条件付き書式で色を付ける予定ですが、 こちらをマクロで処理する方法はありますでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

非表示にする: sub macro1()  activesheet.autofiltermode = false  range("A:D").autofilter field:=4, criteria1:="=" end sub 削除する: sub macro2()  activesheet.autofiltermode = false  range("D:D").autofilter field:=1, criteria1:="<>"  activesheet.autofilter.range.offset(1).delete shift:=xlshiftup  activesheet.autofiltermode = false end sub #いずれもマクロ以前にエクセルの使い方をマスターしていれば、容易です。 >期限が近い A:D列を列選択する(必ず行う) 条件付き書式を開始する セルの値が → 数式が に変更し =($A1<>"")*($D1="")*($A1<TODAY()) と記入、「期日が過ぎた」セルの塗色を設定する 追加をクリック セルの値が → 数式が に変更し =($A1<>"")*($D1="")*($A1<=TODAY()+7) と記入、「1週間(7日)以内」のセルの塗色を設定する。

その他の回答 (1)

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.1

> 削除の場合 ・D列に「*」が有ったら削除するかどうか確認 ・削除の指示を与えたら該当行を削除、 ・以上を下の行から全行繰り返す というマクロを考える。 > 非表示の場合 ・フィルタをかける("*"以外のみ表示) というマクロを考える。 > 期限が近いものに関しては、条件付き書式で色を付ける予定 基本的には、既存の行の書式をコピーするだけなので、マクロは不要。 どうしてもやりたいなら、 ・予定の日付と今日の日付を見比べ、「何日前」だったら ・該当行を任意食で塗り潰す ・以上を全行繰り返す マクロを考えれば出来る。 WEB検索に使えるキーワードで書いているので、 「VBA ○○」などで検索してみてください。 で、あなたが使い易いToDoリストを完成させてくださいませ。

関連するQ&A