Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


38986 / 76732 ←次へ | 前へ→

【42867】Re:エクセルで作業中MsgBox表示
発言  まーくん  - 06/9/23(土) 16:33 -

引用なし
パスワード
   ▼Kein さん:
返事ありがとうございます。
おぉ急に難しくなりましたね。
ちょっと理解不能状態ですときに
早速時間を変えて試したのですが"7秒後に自動的に消える"
が消えません。どうしてなんでしょうか。
約2分待ちましたが消えません。
いかがでしょうか・・・・・
ちなみに下記で実行しました。
Sub Auto_Open()
  Dim MyR As Range

  Set MyR = Worksheets(1).Range("IV1:IV4")
  With Application
   If .Count(MyR) > 0 Then GoTo ELine
   If IsEmpty(MyR.Cells(1)) And _
   Time < TimeValue("10:00:00") Then
     .OnTime TimeValue("10:00:00"), "MyScd"
     MyR.Cells(1).Value = "10:01:00"
   End If
   If IsEmpty(MyR.Cells(2)) And _
   Time < TimeValue("11:55:00") Then
     .OnTime TimeValue("11:55:00"), "MyScd"
     MyR.Cells(2).Value = "11:56:00"
   End If
   If IsEmpty(MyR.Cells(3)) And _
   Time < TimeValue("15:00:00") Then
     .OnTime TimeValue("15:00:00"), "MyScd"
     MyR.Cells(3).Value = "15:01:00"
   End If
   If IsEmpty(MyR.Cells(4)) And _
   Time < TimeValue("16:25:00") Then
     .OnTime TimeValue("16:25:00"), "MyScd"
     MyR.Cells(4).Value = "16:26:00"
   End If
  End With
ELine:
  Set MyR = Nothing
End Sub

Sub MyScd()
  Dim WshShell As Object

  Set WshShell = CreateObject("WScript.Shell")
  With Worksheets(1)
   If Time < .Range("IV1").Value Then
     WshShell.Popup "休憩時間ですよ", 7, , 64
     .Range("IV1").Clear
   ElseIf Time < .Range("IV2").Value Then
     WshShell.Popup "そろそろ昼食の時間です", 7, , 64
     .Range("IV2").Clear
   ElseIf Time < .Range("IV3").Value Then
     WshShell.Popup "お茶の時間ですよ", 7, , 64
     .Range("IV3").Clear
   ElseIf Time < .Range("IV4").Value Then
     WshShell.Popup "終了時間ですよ", 7, , 64
     .Range("IV4").Clear
   End If
  End With
  Set WshShell = Nothing
End Sub


>ブックを起動したとき、スケジュールを重複設定しないためと、
>処理時間をチェックするためのフラグを、先頭シートのIV1:IV3セル
>に入力します。また、エクセルのMsgBoxではいちいちボタンを押すか
>Enterキーを押さないと消えないので、万が一消し忘れても大丈夫
>なように、WSHのPopUpメソッドを使って"7秒後に自動的に消える"
>タイマー付きメッセージにしてみました。(表示時間は、Popupメソッドの
>第二引数で設定します。ただし、あまり正確ではないようです。)
>
>Sub Auto_Open()
>  Dim MyR As Range
>
>  Set MyR = Worksheets(1).Range("IV1:IV3")
>  With Application
>   If .Count(MyR) > 0 Then GoTo ELine
>   If IsEmpty(MyR.Cells(1)) And _
>   Time < TimeValue("10:00:00") Then
>     .OnTime TimeValue("10:00:00"), "MyScd"
>     MyR.Cells(1).Value = "10:01:00"
>   End If
>   If IsEmpty(MyR.Cells(2)) And _
>   Time < TimeValue("11:55:00") Then
>     .OnTime TimeValue("11:55:00"), "MyScd"
>     MyR.Cells(2).Value = "11:56:00"
>   End If
>   If IsEmpty(MyR.Cells(3)) And _
>   Time < TimeValue("15:00:00") Then
>     .OnTime TimeValue("15:00:00"), "MyScd"
>     MyR.Cells(3).Value = "15:01:00"
>   End If
>  End With
>ELine:
>  Set MyR = Nothing
>End Sub
>
>Sub MyScd()
>  Dim WshShell As Object
>
>  Set WshShell = CreateObject("WScript.Shell")
>  With Worksheets(1)
>   If Time < .Range("IV1").Value Then
>     WshShell.Popup "休憩時間ですよ", 7, , 64
>     .Range("IV1").Clear
>   ElseIf Time < .Range("IV2").Value Then
>     WshShell.Popup "そろそろ昼食の時間です", 7, , 64
>     .Range("IV2").Clear
>   ElseIf Time < .Range("IV3").Value Then
>     WshShell.Popup "お茶の時間ですよ", 7, , 64
>     .Range("IV3").Clear
>   End If
>  End With
>  Set WshShell = Nothing
>End Sub

0 hits

【42838】エクセルで作業中MsgBox表示 まーくん 06/9/23(土) 1:45 質問
【42842】Re:エクセルで作業中MsgBox表示 ichinose 06/9/23(土) 10:06 発言
【42848】Re:エクセルで作業中MsgBox表示 まーくん 06/9/23(土) 11:21 発言
【42847】Re:エクセルで作業中MsgBox表示 ハチ 06/9/23(土) 11:18 発言
【42849】Re:エクセルで作業中MsgBox表示 まーくん 06/9/23(土) 11:27 発言
【42860】Re:エクセルで作業中MsgBox表示 まーくん 06/9/23(土) 14:59 発言
【42862】Re:エクセルで作業中MsgBox表示 まーくん 06/9/23(土) 15:41 発言
【42863】Re:エクセルで作業中MsgBox表示 Kein 06/9/23(土) 15:59 回答
【42867】Re:エクセルで作業中MsgBox表示 まーくん 06/9/23(土) 16:33 発言
【42870】Re:エクセルで作業中MsgBox表示 Kein 06/9/23(土) 17:24 発言
【42872】Re:エクセルで作業中MsgBox表示 まーくん 06/9/24(日) 1:34 お礼

38986 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free