vbaを使って、スケジュール表

今月のスケジュール表を名前を変えて保存、中の内容もその月の日付に変えて、内容は全部消去した後、一列ごとに青い色をつけ、日曜日の行にはピンク色をつける、という作業を、VBAを使って、ボタン一発でできるようにしたいと、朝からずっとがんばっていた。

教えてgooで、諸先輩の教えを受けながら、今、なんとかできあがった。あとは、ボタンをつけて、それにプロシージャーを登録したら、おしまいだ。

うれしいなぁ。

なくなると困るので、ここにコピーしておこうっと。(^^)
…………………………………………………………………………………………
Sub newbook2()
Dim a, bbb, NitiN, ddd, e As Integer
a = InputBox("何月の予定表を作りますか?")

ChDir "D:\いろいろ\1か月予定"
ActiveWorkbook.SaveAs Filename:="D:\いろいろ\1か月予定\2004年" & a & "月.xls"
Range("b1").Value = "2004年" & a & "月予定表"

MotonoTuki = Month(Range("b5").Value)
bbb = a - MotonoTuki
Range("B5:B190").Select
For Each r In Selection
r.Value = DateSerial(Year(r.Value), Month(r.Value) + bbb, Day(r.Value))
Next r
Cells.Select
Selection.Interior.ColorIndex = xlNone
Range("d5:k190", "m5:s190").Select
Selection.ClearContents
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
Selection.ClearContents

Range("B4:B190").Select
Range("B4:B190,D4:D190,f4:f190,h4:h190,j4:j190,l4:l190,n4:n190,p4:p190,r4:r190").Select
Range("r4").Activate
Selection.Interior.ColorIndex = 34
Dim i As Integer

i = 5
While (Cells(i, 3).Value <> "")
'i行目のC列の内容をチェック
If Cells(i, 3).Value = "日" Then
'それは「日」だったので色をつける
Range("B" & Trim(Str(i)) & ":S" & Trim(Str(i))).Interior.ColorIndex = 38
'文字そのものの色をピンクにする場合にはこちらを使う
'Range("A" & Trim(Str(i)) & ":S" & Trim(Str(i))).Font.ColorIndex = 7
End If
'次の行へ
i = i + 1
Wend

End Sub
………………………………………………………………………………………
以上でした。

えへへへ。。ほんと、うれしい。\(^^)/