MicrosoftのExcelのテンプレートってめちゃくちゃ便利ですよね。
私が、お気に入りで使っているのは、「毎日の作業スケジュール」です。
やらなければいけないことを忘れたりするので、このブックを使ってToDoやスケジュールを管理しています。
このブックは3つのシートから成り立っています。
1つ目は、「毎日の予定」シート。
日付を入れると、その日のスケジュールと1週間単位の予定、メモが1画面で管理できます。
2つ目は、「イベントスケジュール」シート。
このシートにスケジュールを入力します。
3つ目は、「時間間隔」シート。
このシートに、管理したい開始時間、終了時間を設定したり、何分きざみでスケジュールをするかを設定できます。
さすが、Microsoftさん!すごく使い勝手がいいんですよね。
「こんな使い方もあるのか!」と勉強にもなります。
そして、私なりにVBAを使ってもうちょっと便利になるようにしてみました。
< スポンサーリンク >
ボタンで日付を移動できるようにする
「毎日の予定」シートでは手作業で日付を入力して、日付を変えることができます。
めんどくさがりの私はボタンで日付を移動できるようにします。
表示されている日付の前日、翌日、そして今日の日付が入力できるようにします。
[開発]タブ>[挿入]>[コマンドボタン]をクリックします。
日付移動のボタンを3つ作ります。
▼▼ ボタンに表示されている文字を変更する方法はこちら ▼▼
>> Excel コマンドボタンのキャプション(表示文字)を変更する
今日のボタン
今日のボタンのコードを書いていきます。
今日のボタンのコードは、今日の日付が入るようにします。
With ActiveSheet
.Range("C13").Value = Year(Now())
.Range("C15").Value = Month(Now())
.Range("C17").Value = Day(Now())
End With
翌日のボタン
翌日のボタンのコードを書いていきます。
表示されている日付に1日足した日付が入るようにします。
Dim hi As Date
With ActiveSheet
hi = DateSerial(.Range("C13").Value, .Range("C15").Value, .Range("C17").Value + 1)
.Range("C13").Value = Year(hi)
.Range("C15").Value = Month(hi)
.Range("C17").Value = Day(hi)
End With
前日のボタン
前日のボタンのコードを書いていきます。
表示されている日付に1日足した日付が入るようにします。
Dim hi As Date
With ActiveSheet
hi = DateSerial(.Range("C13").Value, .Range("C15").Value, .Range("C17").Value - 1)
.Range("C13").Value = Year(hi)
.Range("C15").Value = Month(hi)
.Range("C17").Value = Day(hi)
End With
ブックを開いた時に自動で今日の日付にする
ブックを開いた時に、自動で「毎日の予定」シートがアクティブになって、今日の日付が入るようにします。
VBEで[挿入]>[標準モジュール]をクリックします。
以下のコードを書き込むと、ブックを開いた時に自動で「毎日の予定」シートがアクティブになり、今日の日付が入ります。
Sub Auto_Open()
Dim ws As Worksheet
Set ws = ThisWorkbook.Worksheets("毎日の予定")
With ws
.Activate
.Range("C13").Value = Year(Now())
.Range("C15").Value = Month(Now())
.Range("C17").Value = Day(Now())
End With
End Sub
「メモ/ToDoリスト」のチェックはクリックでチェックできるようにする
「メモ/ToDoリスト」のチェックは、チェックボックスのようにクリックしただけでチェックを入れたいですね。
このチェックの部分はセルに罫線が引いてあるだけなので、クリックしたらカタナカの「レ」が入るようにしてみます。
VBEで以下のコードを書き込むとクリックすると「レ」が入力されます。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim bds As Borders
Set bds = Target.Borders
If Target.Column = 12 Then
If bds(xlEdgeTop).LineStyle = xlContinuous And _
bds(xlEdgeLeft).LineStyle = xlContinuous And _
bds(xlEdgeRight).LineStyle = xlContinuous And _
bds(xlEdgeBottom).LineStyle = xlContinuous Then
If Target.Value = "" Then
Target.Value = "レ"
Else
Target.Value = ""
End If
End If
End If
End Sub
「SelectionChange」イベントを使って、
セルが選択された時、12列目で上、下、左、右に罫線がひいてあると「レ」が入力され、「レ」が入力されている場合は、空文字を入力します。
PC起動時にブックを自動で開く
PCを起動した時に「毎日の作業スケジュール」のブックが自動で開くようにスタートアップに登録します。
[Alt]キーを押しながら、ファイルをドラッグし、ショートカットを作ります。
[スタート]を右クリックし、[ファイル名を指定して実行]をクリックします。
「shell:startup」と入力し、[OK]をクリックします。
スタートアップのフォルダが開くので、先ほど作ったショートカットを移動します。
スタートアップフォルダにショートカットが移動しました。
これでPC起動時に「毎日の作業スケジュール」のブックが自動で開きます。
こんな記事も書いています