Excel VBA質問箱 IV

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

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


11609 / 13646 ツリー ←次へ | 前へ→

【15153】条件式に当てはまらないのに・・・・ つん 04/6/16(水) 17:17 質問[未読]
【15155】Re:条件式に当てはまらないのに・・・・ Asaki 04/6/16(水) 17:36 発言[未読]
【15158】Re:条件式に当てはまらないのに・・・・ ichinose 04/6/16(水) 18:40 発言[未読]
【15165】Re:条件式に当てはまらないのに・・・・ つん 04/6/17(木) 10:03 お礼[未読]
【15167】Re:条件式に当てはまらないのに・・・・ Asaki 04/6/17(木) 10:16 発言[未読]
【15175】やり方間違ってた・・・・ つん 04/6/17(木) 10:31 発言[未読]

【15153】条件式に当てはまらないのに・・・・
質問  つん E-MAIL  - 04/6/16(水) 17:17 -

引用なし
パスワード
   こんにちは。
未だに、[#15011]イメージを移動させる……の件をいじくっているつんです。

Sub test2()
  Do While Cells(1, 2).Value = ""
   Cells(1, 1).Value = [Now()]
   DoEvents
  Loop
End Sub

これはそのスレッドの中でichinoseさんが書いてくれたサンプルコードです。
面白いので、つい実行してしまいます(笑)

ところで、これを実行して止めるのは、「B1」のセルに何か入力すればいいんだと思いますが、
実際は、「B1」のみならず、どのセルに入力して止まります。
(最初、勘違いして「A1」のセルに入れて止めてたの(^^;)

何でなんでしょうか?
ちなみにステップ実行してみたら、「B1」に入れない限り止まりませんでした。
謎です・・・・

どなたか、おわかりになる方がいらっしゃったら説明していただけたら嬉しいです。
よろしくお願いします。

【15155】Re:条件式に当てはまらないのに・・・・
発言  Asaki  - 04/6/16(水) 17:36 -

引用なし
パスワード
   つん さん、こんにちは。

サンプルコード実行してみました。
ちなみに、F2 --> Esc でもとまります。

多分、
>DoEvents
で、セルが編集状態になった時点で、マクロは止まっちゃうのでは。。。?
ステップ実行中でも
>DoEvents
の前に、シート上でF2を押したり、何か入力してておいて、VBEに戻ってF8を押すと、
マクロは止まりました。

【15158】Re:条件式に当てはまらないのに・・・・
発言  ichinose  - 04/6/16(水) 18:40 -

引用なし
パスワード
   Asaki さん、つん さん、こんにちは。
>サンプルコード実行してみました。
>ちなみに、F2 --> Esc でもとまります。
>
>多分、
>>DoEvents
>で、セルが編集状態になった時点で、マクロは止まっちゃうのでは。。。?
>ステップ実行中でも
>>DoEvents
>の前に、シート上でF2を押したり、何か入力してておいて、VBEに戻ってF8を押すと、
>マクロは止まりました。

本当ですねえ!!気がつきませんでした。
セルのコピーや貼付作業は、可能なんですけどねえ・・・。

ユーザーフォームでラベル(時刻表示用)、コマンドボタン(時刻表示開始)
コマンドボタン(時刻表示停止)なんてコントロールを貼り付けて
似たようなコードで時刻を表示させてみました。
ユーザーフォームは、モーダレスで表示させて・・・。
'=====================================================
Private fff As Boolean
Private Sub CommandButton1_Click()
  fff = False
  Do While fff = False
   Label1.Caption = [text(Now(),"hh:mm:ss.00")]
   DoEvents
  Loop
End Sub
'======================================================
Private Sub CommandButton2_Click()
  fff = True
End Sub

こんなコードですが、この場合は、セルを編集後もちゃんと動いていました。

元のコードの場合、セルA1に表示処理をしている際中の別のセル編集が
ネックなんでしょうか?

シートをユーザーに触らせるような場合の監視処理は要注意ですね!!


この現象、メモしておきます・・・。
メモメモ。ありがとうございます。

【15165】Re:条件式に当てはまらないのに・・・・
お礼  つん E-MAIL  - 04/6/17(木) 10:03 -

引用なし
パスワード
   Asakiさん、ichinoseさん、おはようございます。
早速のレスありがとうございました。
こちらからのお返事が遅れてすんません(>_<)

Asakiさん
>ステップ実行中でも
>DoEvents
>の前に、シート上でF2を押したり、何か入力してておいて、VBEに戻ってF8を押すと、
>マクロは止まりました。

あれ?おかしいですねえ。
私も、今朝もう一度色々試してみたんですが、
やっぱりどの時点で、入力→再開 しても止まりませんでした。
エクセルのバージョンとかによるんかな?
うちは、Windows98se+Excel2002です。


ichinoseさん
>本当ですねえ!!気がつきませんでした。
>セルのコピーや貼付作業は、可能なんですけどねえ・・・。
あ、ほんまですね!
ショートカットを出した時点で止まるけど、
コピーとか貼り付けを実行した時点でまた再開しますね。
面白いぞー

>ユーザーフォームでラベル(時刻表示用)、コマンドボタン(時刻表示開始)
>コマンドボタン(時刻表示停止)なんてコントロールを貼り付けて
>似たようなコードで時刻を表示させてみました。

やってみました。

>こんなコードですが、この場合は、セルを編集後もちゃんと動いていました。

こちらでも動いてました。

>元のコードの場合、セルA1に表示処理をしている際中の別のセル編集が
>ネックなんでしょうか?

そうなんか・・・そういうもんって納得してればいいんかな?
こういうのもバグ?

いろいろ実行してみないとわかんない!ってこと多いですね。

ありがとうございました(^^)

【15167】Re:条件式に当てはまらないのに・・・・
発言  Asaki  - 04/6/17(木) 10:16 -

引用なし
パスワード
   みなさま、こんにちは。

>やっぱりどの時点で、入力→再開 しても止まりませんでした。
>エクセルのバージョンとかによるんかな?
こちらは、Win2000 + Excel2000 です。
あくまでも、編集状態にしておいて、の場合に止まります。
つまり、入力だけして、確定しない状態、です。
つん さんのところでは、それでも続けて動いちゃうのですか?

セル編集中はマクロは実行できない
→→ マクロ実行中にセル編集状態になったらマクロをとめる
ということなのかなぁ。。。?
と、推測してます。

【15175】やり方間違ってた・・・・
発言  つん E-MAIL  - 04/6/17(木) 10:31 -

引用なし
パスワード
   ▼Asaki さん:

>あくまでも、編集状態にしておいて、の場合に止まります。
>つまり、入力だけして、確定しない状態、です。

あ・・・ごめんなさい。
私は、確定しちゃってから、F8押してました。
編集状態のままにしておいたら、DoEventの前で
終わっちゃってました。

>セル編集中はマクロは実行できない
> →→ マクロ実行中にセル編集状態になったらマクロをとめる
>ということなのかなぁ。。。?

そんな感じですねー。

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