TaskChute 2週間後(ガントチャートの完成)
関連記事----TaskChuteの投稿一覧
管理人注記----VBAコードについて
2週間ほど経ちましたが,TaskChuteは,今や完全に私の仕事を管理するようになりました。
もはやToodledoは使用していません。かわいそうなToodledo。バッグを買うほどの意気込みだったのに…
そこまでTaskChute使うようになったのは,ガントチャート描画の完成にあります。
TaskChuteをtodoリスト的に扱えばガントチャートは特に必要ないのですが,明日の予定を組み立てたい時など,タスクの開始時間や見積り時間などが数値だけだと,どうしても仕事の流れをイメージすることが難しく、ガントチャートが欲しくなります。やはり,文系人間はビジュアル表示でないと理解が追いつきません。
管理人注記----VBAコードについて
2週間ほど経ちましたが,TaskChuteは,今や完全に私の仕事を管理するようになりました。
もはやToodledoは使用していません。かわいそうなToodledo。バッグを買うほどの意気込みだったのに…
そこまでTaskChute使うようになったのは,ガントチャート描画の完成にあります。
TaskChuteをtodoリスト的に扱えばガントチャートは特に必要ないのですが,明日の予定を組み立てたい時など,タスクの開始時間や見積り時間などが数値だけだと,どうしても仕事の流れをイメージすることが難しく、ガントチャートが欲しくなります。やはり,文系人間はビジュアル表示でないと理解が追いつきません。
↑
こんな風に,時間がダブっていたり,いつやるか時間を決めていなかったタスクも
ガントチャートを見ながら,開始時間をチョイチョイと調整し昇順に並び直せば
こうなります。
↓
ルーチンワークやミーティング,面会予定などは実行する時間がだいたい決まっているのですが,その他の仕事については『1日の中で空いている時間にやろう』という考え方をします。
そういった仕事は,前々から(発生した段階で)日にちと見積もり時間だけ決めて,タスクにどんどん書き込んでおきます。そして,前日になったら開始時間を整理する…というやり方が,すごくハマります。
なお、ガントチャートのVBAには、IYN blog:「Excel でガントチャート描画」の VBA 公開を参考にさせていただいています。ありがとうございます。
以下のVBAですが、この投稿の先頭に「VBAコードについて」という注意を記しましたが、さらにマズいことに明らかに不備があります。
If Target Is Nothing Then のあとの動作が書いてありません。…それでも問題なく?動く…という素人判断で、そのままにしています。
このマクロ、何をしているかと言うと、「そのタスクの行(横軸)で、開始時間の列(縦軸)と交わったセルから、見積もり分数を5で割った数だけのセルに色を付ける」という作業を、8行目からB列の値が記入されている最後の行まで繰り返しています。
Sub ガントチャート() Dim myTime As Variant Dim x As Integer, y As Integer, myCount As Integer Dim Target As Object Application.ScreenUpdating = False 'ガンチャート部分をクリア Workbooks("タスクシュート.xls").Worksheets("メイン").Activate Range("P8:EF1000").Interior.ColorIndex = False 'ガントチャートを描画 x = 8 Do While Cells(x, 2) <> "" myTime = Range("M" & x).Text 'タスクの開始時 myCount = Application.WorksheetFunction.Round(Range("K" & x).Value / 5, 0) '見積分数を5で割ったコマ数 Set Target = Range("P6:EF6").Find(myTime) If Target Is Nothing Then Else y = Target.Column Range(Cells(x, y), Cells(x, y + myCount - 1)).Interior.ColorIndex = 5 End If x = x + 1 Loop Application.ScreenUpdating = True End Sub
- P6からEF6までのセルに時間の記述
- P6からEF6までのセルの書式設定の表示形式を文字列として、P6のセルに「8:00」と値を入れ、右方向のセルに順次「8:05」「8:10」「8:15」…〈5分おき〉…「17:55」まで入れます。最後のEF6には「23:00」と入れます。
最後の23:00を設定しているのは、区切りとして使用しているタスクを見積り時間5分、開始時間23時としているからです。エラーを避けるためです。これらは普段は見えないように文字色を白にしています。
ちなみに、これらの列幅は0.5にすると、私の20インチ画面のでちょうど全てが表示されるいいカンジになります。 - M列の表示形式を時刻に変更
- M列のデフォルトでの表示形式がユーザー定義の特殊な形になっていて,そのままではVBAの"myTime"で取得した値と合致しなくなってしまいます。それを避けるためにセルの書式設定で表示形式を時刻の00:00の状態に変えます。
- O列を非表示にする
- O列は、イジると本体のマクロに影響を与えてしまうようです。よって、ここは一切手を加えません。非表示にしておきます。
発動のためのボタンを設置していますが、その他のマクロの後にくっつけても動作は思いのほか素早いのでイイ感じです。
タグ :TaskChute
opera その後
xamppでapacheをPCと共に自動起動したいがコントロールパネルv3.2.1ではserviceに表示されないない件
さようならOpera 日和るくらいなら有料にして欲しかった
複数のPDFファイルをボタンひとつで印刷
TaskChute 3日目(これまでのまとめ)
TaskChute 2日目
xamppでapacheをPCと共に自動起動したいがコントロールパネルv3.2.1ではserviceに表示されないない件
さようならOpera 日和るくらいなら有料にして欲しかった
複数のPDFファイルをボタンひとつで印刷
TaskChute 3日目(これまでのまとめ)
TaskChute 2日目