みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel マクロ

Private Sub Workbook_Open()

Dim name As String
name = "7月" '//ワークシート名----編集用(本日曜日カラー変更ロジック用----月初変更箇所)

Dim week As String
Dim Y As Integer
Dim X As Integer

'//処理(1)-(1) すべての曜日セルの背景を白にする
Worksheets(name).Range("A13:M13").Interior.ColorIndex = 19 '白

'//処理(1)-(2) 今日の曜日を取得して色を変更する
week = WeekdayName(Weekday(Now), False) '今日の曜日

Y = Worksheets(name).Cells.Find(week).Row
X = Worksheets(name).Cells.Find(week).Column

Worksheets(name).Cells(Y, X).Interior.ColorIndex = 45 'オレンジ系の色


'//処理(2) 本日日付を取得して色を変更する

Dim D As Integer

D = Day(TODAY()) '本日の日付
Y = Worksheets(name).Cells.Find(D, LookAt:=xlWhole).Row
X = Worksheets(name).Cells.Find(D, LookAt:=xlWhole).Column

Worksheets(name).Cells(Y, X).Interior.ColorIndex = 19 '

End Sub

途中なのですが、日付を取得して色を変える
というロジックを作っていて
処理(2)からを新しく付け足した時にエラーが起こりました。
内容は「SubまたはFunctionが定義されていません」です。
どうやらD = Day(TODAY())らへんでエラーになっているようなのですが
どなたか分かる方教えてください(´・ω・`)(´-ω-`))ぺこり

投稿日時 - 2009-07-08 23:41:52

QNo.5110086

暇なときに回答ください

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

TODAY()はEXCELの数式での関数ですが、VBAの関数にはありません。
代用として、Now()関数を使う事が出来ます。

投稿日時 - 2009-07-09 00:09:35

お礼

そうなんですね!

ありがとうございます、言われた通りにやってみたら
上手くいきました(´・ω・`)(´-ω-`))ぺこり

投稿日時 - 2009-07-09 07:34:12

ANo.1

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

Dim D As Integer
D = Day(Date)

など。

投稿日時 - 2009-07-09 06:01:10

あなたにオススメの質問