Excel VBA質問箱 IV

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

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


59051 / 76738 ←次へ | 前へ→

【22401】セルの編集状態の解除
質問  つん E-MAIL  - 05/2/18(金) 11:14 -

引用なし
パスワード
   いつもお世話になります。
早速ですが、質問させていただきます。

VBAで、「セルの編集状態」を解除させるにはどうしたらいいんでしょうか?

以下のようなコードを書いてみました。

Sub test()

  Dim sngStart As Single
  Dim sngTime As Single
  
  sngTime = 5
  
  Range("a1").Value = ""

  sngStart = Timer
  Do While Timer < sngStart + sngTime
    DoEvents
    If Range("a1").Value <> "" Then
      Exit Do
    End If
  Loop
  
  If Range("a1").Value <> "" Then
    MsgBox "入力されました"
  Else
    MsgBox "時間切れです"
  End If
  
  Range("a2").Value = "おわり"
  
End Sub

時間内にA1になんらかのデータが入力されたかどうか?の判定するだけのコートです。
普通に入力して確定されたら、その時点で「入力されました」のメッセージボックスが出て、A2に「おわり」の文字列が入力されます。(まんまの説明じゃ・・)
で、なにもせずに放置してると、「時間切れです」のメッセージボックスが出ます。

ここで、入力途中で時間切れになった…つまり、A1が編集状態のままループを抜けてしまった場合、メッセージボックスは表示されますが、最後の、

 Range("a2").Value = "おわり"

でエラーが出てしまいます。
これを、If分の前に持ってきても、当然そこでエラーが出ます。

セルが編集状態になってる状態ではメッセージボックスを出す以外の処理が出来ないんですね?

これを、どうにか対処できないでしょうか?
コード内で、セルの編集状態の解除は出来ないのでしょうか?

Sendkey "{Enter}" を使ってみましたが無理なようでした。

宜しくお願いします。
0 hits

【22401】セルの編集状態の解除 つん 05/2/18(金) 11:14 質問
【22402】Re:セルの編集状態の解除 IROC 05/2/18(金) 11:34 回答
【22403】Re:セルの編集状態の解除 Jaka 05/2/18(金) 12:03 発言
【22404】Re:セルの編集状態の解除 Jaka 05/2/18(金) 12:49 発言
【22405】Re:セルの編集状態の解除 つん 05/2/18(金) 13:06 お礼
【22409】Re:セルの編集状態の解除 Jaka 05/2/18(金) 13:44 発言
【22414】Re:セルの編集状態の解除 つん 05/2/18(金) 15:13 発言
【22443】Re:セルの編集状態の解除 Jaka 05/2/21(月) 9:22 発言
【22447】bykinさーーーん!! つん 05/2/21(月) 10:13 発言
【22454】Re:bykinさーーーん!! bykin 05/2/21(月) 12:34 発言
【22457】雑談ですみません(>_<) つん 05/2/21(月) 14:37 発言
【22460】Re:雑談ですみません(>_<) Jaka 05/2/21(月) 17:33 発言
【22461】関西クン bykin 05/2/21(月) 20:47 発言

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