アプリ版:「スタンプのみでお礼する」機能のリリースについて

知恵袋にも質問しましたが、明日朝までに回答を頂けるか不安で、こちらにも質問します。

ExcelのVBAで、特定のセル(A1,B5,C10等)を入力しないとファイルを保存できない設定で、
(1)全て入力してたら、閉じる時に普段どおり、『「保存しますか?」の質問に「はい」「いいえ」「キャンセル」』のメッセージボックスが出るように
(2)入力してなかったら、閉じる時に『「未入力ですので、保存できません」』の質問に「保存しません」「キャンセル」』のメッセージボックスが出るように。
(3)また、作成者がそこを空白のまま保存できないので、作成者については、その制限がかからない方法
を下記のコードで教えていただきました。
その下記のコードに(4)上書可能で、上書きする時に特定のセル(D12)にその時の日を入力したいのですが、その日には条件があって、16:00より前ならその日、16:00以降なら翌日に入力されるように下記に付け加えたいのですが、どうすれば良いのでしょうか?

ブックモジュール[ThisWokbook]に
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Application.UserName = ThisWorkbook.BuiltinDocumentProperties("Author") Then Exit Sub '許可するユーザー名
Dim myRng As Range
Dim myStr As String
With Worksheets("Sheet1")
Set myRng = Union(.Range("A1"), .Range("B5"), .Range("C10"))
End With
If WorksheetFunction.CountA(myRng) < 3 Then
Cancel = True
myStr = "未入力セルがあります" & vbCrLf & _
"[OK....保存しないで終了]" & vbCrLf & _
"[キャンセル..編集に戻る]"
If MsgBox(myStr, vbOKCancel) = vbOK Then
ThisWorkbook.Close False
End If
End If
End Sub

A 回答 (1件)

With Range("D12")


.Value = IIf(Format(Now, "hh:mm") <= "16:00", Date, Date + 1)
End With

ご参考程度に。
    • good
    • 0
この回答へのお礼

御礼が遅くなり、大変申し訳ございません。
とても参考になりました。ありがとうございました!!

お礼日時:2009/03/28 17:33

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