
Excel 2016 32bitです。
excel のformを show vbModelessで開いています。
テキスト、ラジオボタン、リストボックス全部で90くらいの入力があります。
60中55名は問題なく、入力は出来るのですが
5名は、入力途中で、クラッシュしてしまい
重たくて、フォームが強制的に終了してしまいます。
入力した後のマクロでDoevants,sleepをがんがん入れましたが、まだまだクラッシュして、入力が出来ません
vbModelessをやめれば、解決するのですが、ユーザーが入力しながら、他のExcelみたいとのことでした。
この場合、どの様な解決策がありますでしょうか?
入力項目は減らせません
C#や、Javaで、アプリを作りたいのですが、私はエンジニアでないので、出来ればExcel vbaで解決したいのですが、何かいい方法はありますでしょうか?
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんにちは。
フォームが重くてクラッシュするなんて考えにくいなぁ。主原因ではないと思います。
フォームが強制終了すると言うより、画面から消えてしまって行方不明といったところかと思います。
ソースコードを見ないことには何とも言えませんが、Msgbox や別フォーム(例えばプログレス表示のため)が表示された後に消えるなど現象発生のタイミングに共通項はありませんか?
また、ソースで画面状態に依存するコード、例えば Activecell とか、select、activate、で画面を切り替えてる場合、doevents はむしろ無い方が良いかもしれません。
doevents は OS の割り込みを入れるものなので、タイミング、PCスペックなどによりプログラムの実行結果に影響がでる可能性があります。
入れるなら me.repaint が良いかもしれません。
あと、sleep は [VBAの実行を含む] Excel のスレッドをスリーブさせてしまいますから、例えば外部プログラムや OS など VBA 以外の処理待ちで使わないと、ただただ VBA の処理速度を落とすだけになります。
検索してもなかなかない、貴重な情報ありがとうございます。
一つのテキストボックス入力時とかではなく
クラッシュするタイミングはバラバラで
PCによってクラッシュしたり、しなかったりで困っています。
sleep,doeventsは外して、Me.repaintで試していきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Google form グーグルフォーム...
-
PDF 入力途中で改行したい
-
「ドゥ」の簡単なローマ字入力方法
-
エクセルでセル未入力時の初期...
-
「ディ」はどう入力すればいい...
-
googleカレンダーの予定を入力...
-
EXCEL VBA でインプットボック...
-
vbsでのwebフォームへの入力制限?
-
Wordで2000字は普通はどれくら...
-
マイナンバーカードでマイナポ...
-
Office Word [ここに入力] が...
-
MACで化学式を入力する方法を教...
-
平仮名変換
-
PC(やスマホ)で気軽に音声入力...
-
Googleスプレッドシートで時間...
-
Forms のアンケートで、地図を...
-
powerpointで空白を作ることが...
-
り を数字で表す
-
エクセルでセルに「氏名を入力...
-
文字入力すると2重になってしまう
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Google form グーグルフォーム...
-
PDF 入力途中で改行したい
-
「ドゥ」の簡単なローマ字入力方法
-
エクセルでセル未入力時の初期...
-
PC(やスマホ)で気軽に音声入力...
-
「ディ」はどう入力すればいい...
-
vbsでのwebフォームへの入力制限?
-
LINEの文字入力が少し重くなっ...
-
エクセルでセルに「氏名を入力...
-
Office Word [ここに入力] が...
-
googleカレンダーの予定を入力...
-
すみません_←これってスマホか...
-
MACで化学式を入力する方法を教...
-
文字入力済みのセルに続けて入力
-
小さい「う」
-
Excel共有設定で入力セルがずれる
-
EXCEL VBA でインプットボック...
-
iPhone メモ帳のトラブル
-
ブラウザ Firefox でパソコンか...
-
Forms のアンケートで、地図を...
おすすめ情報