どんなものかっていうと、
こんなふうな、to doリストがあったとして、「思いついた日」というところにカーソルを合わせたまま、ボタンを押すと。。。
「思いついた日」には今日の日付、「終了予定日」には2週間後の日付が自動的に設定される。というもの。
では、ちょっとずつコメントも含めて、ソースコードを紹介。
まずは関数定義。
'「思いついた日設定」という関数を定義する
Sub 思いついた日設定()
'関数を終了する
End Sub
次に、ちょっとソースコードを省略する感じで書いてみる。
ActiveCellとは、現在カーソルが合っているセルのこと。
With ActiveCell End With
では中身を埋めていく。
現在の選択しているセルに日付を入れる。
'ActiveCell →「現在選択しているセル」
'Value→セルに値(数値や文字列)
'Date→日付関数
.Value = Date
.VerticalAlignment = xlVAlignCenter
.Font.Size = 14
思いついた日と同じ行にある「終了予定日」のセルに、思いついた日から14日後の日付を設定。
'Offset(m,n)はオブジェクトからみて、
'm行下、n行右のセルを対象にするという意味
Set cel = .Offset(0, 2).Range("A1")
' 色は赤に設定
cel.Font.ColorIndex = 3
cel.Font.Size = 14
cel.VerticalAlignment = xlVAlignCenter
cel.Value = Date + 14
以下、全体のソースコード。
Sub 思いついた日設定()
With ActiveCell
.Value = Date
.VerticalAlignment = xlVAlignCenter
.Font.Size = 14
Set cel = .Offset(0, 2).Range("A1")
cel.Font.ColorIndex = 3
cel.Font.Size = 14
cel.VerticalAlignment = xlVAlignCenter
cel.Value = Date + 14
End With
End Sub
さて、このソースコードは命令だけを書いたもの。ボタンに組み込むには、別作業が必要。
excel2010や2007なら、
「開発」→「フォームコントロール」→「ボタン」
で、ボタンを設定。マクロの登録について、ウィンドウが自動で開くので、さきほど自分が書いたマクロを選択すれば完成。
*デフォルトでは、開発メニューはないはず。以下のページ参照。
Excel2010でコントロールツールボックスはどこ


0 件のコメント:
コメントを投稿