Excel VBA質問箱 IV

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

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


2208 / 13645 ツリー ←次へ | 前へ→

【69370】VBAプログラムを書き換えても変わらない pine 11/7/2(土) 10:16 質問[未読]
【69371】Re:VBAプログラムを書き換えても変わらない とーり 11/7/2(土) 11:34 回答[未読]
【69372】Re:VBAプログラムを書き換えても変わらない SK63 11/7/2(土) 13:35 発言[未読]
【69373】Re:VBAプログラムを書き換えても変わらない UO3 11/7/2(土) 13:37 発言[未読]
【69374】Re:VBAプログラムを書き換えても変わらない pine 11/7/2(土) 15:10 回答[未読]
【69375】Re:VBAプログラムを書き換えても変わらない neptune 11/7/2(土) 15:30 発言[未読]
【69376】Re:VBAプログラムを書き換えても変わらない SK63 11/7/2(土) 16:28 発言[未読]
【69377】Re:VBAプログラムを書き換えても変わらない pine 11/7/2(土) 17:42 回答[未読]
【69378】Re:VBAプログラムを書き換えても変わらない SK63 11/7/2(土) 18:00 発言[未読]
【69380】Re:VBAプログラムを書き換えても変わらない neptune 11/7/2(土) 21:31 発言[未読]
【69379】Re:VBAプログラムを書き換えても変わらない 芋洗い五段 11/7/2(土) 21:26 発言[未読]
【69381】Re:VBAプログラムを書き換えても変わらない pine 11/7/3(日) 7:57 回答[未読]
【69382】Re:VBAプログラムを書き換えても変わらない neptune 11/7/3(日) 17:15 発言[未読]
【69391】Re:VBAプログラムを書き換えても変わらない pine 11/7/4(月) 9:30 お礼[未読]

【69370】VBAプログラムを書き換えても変わらない
質問  pine E-MAIL  - 11/7/2(土) 10:16 -

引用なし
パスワード
   VBAを多用していますが、時々プログラムを書き換えても実際の実行では変わっていないことがあります。わかりやすい例ではブレークポイントを設定しても止まらないのです。あきらめて他のことをやっているといつの間にか治っています。キャッシュが残っているような気がしますが、どなたか対策をご存知でしたら教えてください。

【69371】Re:VBAプログラムを書き換えても変わらな...
回答  とーり  - 11/7/2(土) 11:34 -

引用なし
パスワード
   UserFormをShowしてるが、イベントなど働いていないときとか?
それなら、Unloadしてから変更。

あとは、IfやSelect Caseなどの条件が合致してないとこに記述してるとか。

【69372】Re:VBAプログラムを書き換えても変わらな...
発言  SK63  - 11/7/2(土) 13:35 -

引用なし
パスワード
   ▼pine さん:
>VBAを多用していますが、時々プログラムを書き換えても実際の実行では変わっていないことがあります。わかりやすい例ではブレークポイントを設定しても止まらないのです。あきらめて他のことをやっているといつの間にか治っています。キャッシュが残っているような気がしますが、どなたか対策をご存知でしたら教えてください。


BKポイントを通過することはありません、通ってないのでしょう。
また、直ることは無く、通ったので止まったのです、
キャッシュetc寄りも判定式等の変数がクリアできていない、、、
debug.printなどでポイントで結果を追求してみてください。
簡単なのはBKも前に、debug.printなどで記録してみると分かると思いますが。
アドバイスになっていなかったら御免なさい。

【69373】Re:VBAプログラムを書き換えても変わらな...
発言  UO3  - 11/7/2(土) 13:37 -

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

多用しているということですが、たとえば1つ、そのような現象になるコードをアップすれば
より具体的なアドバイスがあると思います。

【69374】Re:VBAプログラムを書き換えても変わらな...
回答  pine E-MAIL  - 11/7/2(土) 15:10 -

引用なし
パスワード
   ▼UO3 さん:
>▼pine さん:
>
>多用しているということですが、たとえば1つ、そのような現象になるコードをアップすれば
>より具体的なアドバイスがあると思います。
お三方早速のレスありがとうございます。
コードは特定されないようです。サブモジュールの先頭にブレークポイントを設けても止まらないことがあります。ヒントとして、何らかの形でstop文を一度実行させると全て解消されるようです。

【69375】Re:VBAプログラムを書き換えても変わらな...
発言  neptune  - 11/7/2(土) 15:30 -

引用なし
パスワード
   ▼pine さん:
サブモジュールって用語はVBにはありません。
恐らくサブプロシージャの間違いでは?

・on error goto は使ってませんか?

後、開示されている情報では、デバッグの仕方をご自分で工夫するしかないように
思います。再現できませんからねぇ。

プロシージャを呼ぶ前でブレークポイントを止まるまで移動させて
行くしかないとは思いますが、
・そのプロシージャをどうやって呼んでいるかが不明
・呼ぶタイミングも不明
・よって、そのプロシージャを呼ぶ直前にプログラムが走っているか否かも不明。
なので、それすらスッキリとは提案できない。

>何らかの形でstop文を一度実行させると全て解消されるようです。
と書かれてもそのプログラムがどんな構造でどんな処理しているかもわかりませんし。
ハッキリしたことは誰にも言えないのでは?

これが現在開示されている情報だけで第三者からみた現状です。
・・まぁ私は想像力不足ではありますが、それだけではないと思いますよ。

【69376】Re:VBAプログラムを書き換えても変わらな...
発言  SK63  - 11/7/2(土) 16:28 -

引用なし
パスワード
   予測ですが、イベントを使用して動作させると起こりやすい現象です。
まずは、イベント動作での内容を検討されてはと考えます、

CALL 〜で呼び出されている部分をコメントアウトしていくと
見えてくるかもしれませんですね。
もしくは、ファンクション〜ですか?

まずは、シンプルな流れにしていくと良いのではないでしょうか?


▼neptune さん:
>▼pine さん:
>サブモジュールって用語はVBにはありません。
>恐らくサブプロシージャの間違いでは?
>
>・on error goto は使ってませんか?
>
>後、開示されている情報では、デバッグの仕方をご自分で工夫するしかないように
>思います。再現できませんからねぇ。
>
>プロシージャを呼ぶ前でブレークポイントを止まるまで移動させて
>行くしかないとは思いますが、
>・そのプロシージャをどうやって呼んでいるかが不明
>・呼ぶタイミングも不明
>・よって、そのプロシージャを呼ぶ直前にプログラムが走っているか否かも不明。
>なので、それすらスッキリとは提案できない。
>
>>何らかの形でstop文を一度実行させると全て解消されるようです。
>と書かれてもそのプログラムがどんな構造でどんな処理しているかもわかりませんし。
>ハッキリしたことは誰にも言えないのでは?
>
>これが現在開示されている情報だけで第三者からみた現状です。
>・・まぁ私は想像力不足ではありますが、それだけではないと思いますよ。

【69377】Re:VBAプログラムを書き換えても変わらな...
回答  pine E-MAIL  - 11/7/2(土) 17:42 -

引用なし
パスワード
   たびたびすみません。
私も聞かれても困るだろうなあと思いながら質問しています。
neptuneさんのご指摘通りサブプロシジャーのことです。
サブプロシジャーに入るきっかけは単純にコマンドボタンを押したときが多いです。いったんそのようなモード(ブレイクが効かない)になってしまうと、そのプロシジャーは復帰できなくなりますが、他のサブプロシジャーは正常です。正常なサブプロシジャーに強引にSTOPを書き入れて実行させると全てが正常に戻ります。
on error callやイベントドリブンは使っておりません。

【69378】Re:VBAプログラムを書き換えても変わらな...
発言  SK63  - 11/7/2(土) 18:00 -

引用なし
パスワード
   UserForm1.Show vbModelessとUserForm1.Showどちらで起動させていますか?
変えるとどうなりますか?
または、セルが編集モードになっていないでしょうか?


▼pine さん:
>たびたびすみません。
>私も聞かれても困るだろうなあと思いながら質問しています。
>neptuneさんのご指摘通りサブプロシジャーのことです。
>サブプロシジャーに入るきっかけは単純にコマンドボタンを押したときが多いです。いったんそのようなモード(ブレイクが効かない)になってしまうと、そのプロシジャーは復帰できなくなりますが、他のサブプロシジャーは正常です。正常なサブプロシジャーに強引にSTOPを書き入れて実行させると全てが正常に戻ります。
>on error callやイベントドリブンは使っておりません。

【69379】Re:VBAプログラムを書き換えても変わらな...
発言  芋洗い五段  - 11/7/2(土) 21:26 -

引用なし
パスワード
   昔私も同じようなことが頻発しました。
そんな時はわざと構文エラーを起こすとちゃんとなりました。

【69380】Re:VBAプログラムを書き換えても変わらな...
発言  neptune  - 11/7/2(土) 21:31 -

引用なし
パスワード
   ▼pine さん:
全くの勘で。

・Bookが壊れかかっている。
・コントロールを多く使いすぎて不安定になっている。壊れかかっている。

スキルは有りそうだから確認しましょう。
・コマンドボタンをクリックした際にclickイベントは発生しているか?
・コントロールの数は200を超えているか

#情報出さな過ぎ!
どんな技術でどんな処理をやっているかぐらいは書いても良いと思うが。

【69381】Re:VBAプログラムを書き換えても変わらな...
回答  pine E-MAIL  - 11/7/3(日) 7:57 -

引用なし
パスワード
   ▼芋洗い五段 さん:
>昔私も同じようなことが頻発しました。
>そんな時はわざと構文エラーを起こすとちゃんとなりました。

今度発生したら構文エラーを起こしてみます。
コントロールの数は200を超えています。200という制限があるのでしょうか?

【69382】Re:VBAプログラムを書き換えても変わらな...
発言  neptune  - 11/7/3(日) 17:15 -

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

>コントロールの数は200を超えています。200という制限があるのでしょうか?
excelでは公式にはそういう制限は書かれてないと思います。

但し、vb6.0の時代の話ですが、vb6ではform上のコントロールは255までという
制限がありました。
そして、excel vbaはvb6と同じエンジンです。

従ってその制限は同様と考えるのが順当と思います。
又、実際問題としてExcelでも200を超える辺りから不安定になってくるのは
事実で過去にもたまに掲示板などで話題になってます。

os,excelのバージョンにも拠るかもしれませんけど。。

最近のバージョンで変更があるかどうかは?という事を言い添えておきます。

【69391】Re:VBAプログラムを書き換えても変わらな...
お礼  pine E-MAIL  - 11/7/4(月) 9:30 -

引用なし
パスワード
   ▼neptune さん:
>▼pine さん:
>
>>コントロールの数は200を超えています。200という制限があるのでしょうか?
>excelでは公式にはそういう制限は書かれてないと思います。
>
>但し、vb6.0の時代の話ですが、vb6ではform上のコントロールは255までという
>制限がありました。
>そして、excel vbaはvb6と同じエンジンです。
>
>従ってその制限は同様と考えるのが順当と思います。
>又、実際問題としてExcelでも200を超える辺りから不安定になってくるのは
>事実で過去にもたまに掲示板などで話題になってます。
>
>os,excelのバージョンにも拠るかもしれませんけど。。
>
>最近のバージョンで変更があるかどうかは?という事を言い添えておきます。

いろいろありがとうございました。今後徐々にformを分けてコントロールを分散させることにします。

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