プロが教えるわが家の防犯対策術!

エクセルのマクロについて

B列に1年間の日付が1日ずつ並んでいます。そしてその2列右隣のD列にその日の予定が書かれています。毎回このエクセルを開くときにオートオープンで今日の予定を表示されるマクロを組みたいんですが、ズバリのマクロをお願いします。

A 回答 (2件)

こんばんは!



Private Sub Workbook_Open()
Dim c As Range
With Worksheets("Sheet1")
Set c = .Range("B:B").Find(what:=DateValue(Date), LookIn:=xlFormulas, lookat:=xlWhole)
If Not c Is Nothing Then
If c.Offset(, 2) <> "" Then
MsgBox "今日の予定は" & vbCrLf & "「" & c.Offset(, 2) & "」" & "です。"
Else
MsgBox "今日の予定はありません。"
End If
End If
End With
End Sub

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 0
この回答へのお礼

早くですね‼ありがとうございます。やってみたんですが、
end subが必要です。とコンパイルエラーが表示されます。なぜでしょうか?

お礼日時:2018/03/01 22:38

No.1です。



>end subが必要です・・・

まさしくそのままのエラーだと思います。
もう一度コードを確認してみてください。

最後の「End Sub」が抜けていませんか?

※ おそらく間違いないと思いますが、
「標準モジュール」ではなく、VBE画面の左側にある「This Workbook」をダブルクリックし
「workbook_open」 イベントプロシージャになっていますよね?m(_ _)m
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!