• 締切済み

UserFormが「応答なし」と表示される。

Excel2003(Xp)にて作成したマクロをExcel2007(Win7)で実行していると、 表示されているUserFormが「応答なし」と表示され、 Repaint指示が実行されません。 マクロ自体は正常に作動し(Repaint指示以外)、 正しく終了します。作動結果も正常です。 Excel2003(Xp)にて実行するぶんではRepaintを含め正常に作動します。 Repaint直後に時間の掛かるCopyFolderを実行していること、 (次回のRepaintまでの時間が掛かる)が原因なんでしょうか。 対処法があればご教示をお願いします。 マクロが「正常に作動しているか」、「どの辺りまで作業が進行しているのか」が判らず、 ただ待っているのは辛いです。

みんなの回答

回答No.2

2007はxlsmにしても「応答なし」になってしまいますか? そのコピーするフォルダにサブフォルダがあると もうひと手間必要ですが http://okwave.jp/qa/q8623882.html のなかで、fFrom.Files.count でファイル数が取得できますので 逐次CopyFile フォーム上にカウント表示かプログレスバーもどきを表示 Repaint処理 お決まりのDoEvents のループ処理にしてみるとか?

YON56
質問者

お礼

回答ありがとうございました。

回答No.1

途中途中にMsgbox置いてみるか、 F8でひとつひとつ実行してみていくとかですね。 あとは、ブレークポイント置くとか。

YON56
質問者

お礼

回答ありがとうございました。

関連するQ&A

  • 【UserFormラベルに状況を随時表示したい】

    ExcelVBAでUserFormを使用した4画面ばかりのツールを作成中です。 質問ですが、あるコマンドボタンを押下した時に、既存のExcelファイルを複数開き、集計などを行い、結果をCSVファイルに出力するという処理を行っています。 処理には、10分位の時間を要するので、その間は、UserFormに「現在処理中のファイル名、処理が終了したファイル名」などの進捗をラベルに表示したいのですが、実際に実行してみると、Excelファイルを開いた時点で、制御がExcelファイル側に入ってしまい、UserFormが真っ白に表示されてしまいます。 常に、「UserForm」をアクティブにし、目的の進捗状況ラベルに表示しながら、集計処理を実行することはできるのでしょうか? どなたかご存知の方、教えてください!!

  • ファイルの状態が「応答なし」になります。

    エクセルVBAで ループして長時間のマクロを実行しているのですが そうするとタスクマネージャーの アプリケーションタブで見ると 該当のファイルの状態が「応答なし」になります。 でも実際はマクロは動いていて 結果は得られています。 応答なしでも実は動いているのでしょうか? win7、エクセル2010です。

  • Powerpoint 2003 でのVBA UserFormの表示方法

    いつもPowerpoint用のマクロを一つのファイルにまとめ、ツールバーに実行用のボタンを追加して使用しています。マクロファイルは閉じたままにしています。 このたびUserFormをModalからModelessに修正し、マクロを実行しましたらFormが表示されませんでした。マクロファイルを開いたまま実行するときちんと表示されます。また、UserFormがModalの時はマクロファイルを閉じたままでもきちんと表示されていました。 マクロが保存されているファイルを閉じたままでもModelessでUserFormを表示する方法がありましたら教えてください。 ちなみに、現在はこのようなスクリプトになっています。 Load frmXXX frmXXX.Show vbModeless (frmXXX.Showだけの時はきちんと表示されていました) ご回答お待ちしております。

  • エクセルのマクロでUserForm1を作って下記のようなコードを実行す

    エクセルのマクロでUserForm1を作って下記のようなコードを実行すると UserForm1を一瞬だけ表示して消えるのかと思ったのですが、表示されたまま消えません。 Unload UserForm1のところを UserForm1.Hideにしても同じです。 表示されたUserForm1を閉じるにはどうしたらよいですか。 Sub test() UserForm1.Show Unload UserForm1 End Sub

  • EXCEL VBA UserFormで困っています。

    EXCEL VBA UserFormで困っています。 VBAプログラミングで以下のような現象が起こります。 開発環境  WinXP , EXCEL2003 ブックを起動するとメニューが表示され、そこからボタンを押すとuserform1が表示されるというプログラムなんですが、そのボタンを押してuserform1を起動しようとすると『問題が発生したため、  Microsoft Excel Windowsを終了します。・・・ エラー報告を送信する 送信しない』のメッセージが出て起動できない。 UserForm1.Showのステップで一旦止めてステップモードで続行すると正常に動作します。 過去に似た質問を見つけ、そのアドバイスを元に以下を試してみました。 http://okwave.jp/qa/q2001805.html ・エラーの発生行の特定 userform1.showの前に、userform1.label.visible=falseのように、表示、非表示を切り替える命令を出しており、どうやらその表示命令の行でつまづいている事がわかりました。 表示命令を全て消去し実行したところ、現在までは問題なく起動できています。 ・on timeメソッドで時間差をつける ラベルやボタンの表示、非表示命令行をまとめて、 Application.OnTime Now + TimeValue("00:00:01"), "ラベルボタン表示設定" userform1.show といった形で時間差をつけてみました。 結果として、userform1自体は立ち上がるようになったのですが、時間差で実行される"ラベルボタン表示設定"の実行時に「オートメーションエラーです。起動されたオブジェクトはクライアントから切断されました。」と出てくるようになってしまいました。 ラベルはまだ良いのですが、コマンドボタンの表示、非表示は、誤操作を防ぐ手段として非常に重要です。なんとかエラーを出さずにコード通りに起動する方法はありませんでしょうか。

  • Visual BasicのUserFormが閉じづらい

    Excel2000,VisualBasicのUserFormの閉じ方で困っています。 マクロ起動中にUserForm1.Show,UserForm1.Hide,UserForm2.Show,UserForm2.Hideを 何度も繰り返していると、同じUserFormが重複してメモリーに残っている 状態で、閉じるために「×」を何度もクリックしています。 作業を長時間するとフリーズ状態もしくはエラーになります。 尚、Load.Unloadでも同じ結果になりました。 どなたか解決方法を教えてください、宜しくお願いします。

  • エクセル UserForm 呼び出しでフリーズしてしまいます

    エクセルでタイムカード?退勤時間管理表を作成しています。 UserFormの使用は初めてです・・・ UserForm1が「出勤」「退勤」「休憩入り・戻り」などをボタンで作って入力させるのはうまくいきました。 ところが、UserForm2に、各従業員のタイムカード(出勤退勤休憩を記録しているシート部分)を表示したくなったのでUserForm2に、ListBox1を貼り付けてマクロでRowSourceを書き換えて表示させたかったのですが・・・ 作成中はうまく表示しているのですが、実際にUserForm2.Showとやって呼び出すとUserForm2は表示されるのですが、エクセルすべてが全く反応なくなってしまいます。UserForm2も閉じれません。 ListBox1でいじったプロパティは、RowSourceとColumnCountのみです。 RowSourceは、'名 前'!A1:H32 ColumnCountは、8 UserForm2には、ListBox1しかありません。 UserForm1にも、ListBoxはあるのですが全く問題なしです。(1行のみのものですが) 時計のリアルタイム表示マクロやUserFormに最小化ボタンを付けるマクロを付けていたのでそれが原因かとも思い削除してみたのですが、UserForm2を表示するとフリーズしてしまいます。 何が原因のでしょうか? 教えてください。よろしくお願いします。 エクセルは、2007です。

  • マクロ実行中のメッセージ表示

    お世話になります。 Excel2000マクロ実行中に、「処理中です」等のメッセージを表示したいのです。メッセージのUserFormを作成しましたが、マクロ実行中は、Caption(Formのタイトル部分)以外は、Formが白く表示されるだけです。ステップインで確認する時は正常に表示されます。 コードは、標準モジュールに UserForm1.Show (0) としました。 よろしくお願いいたします。 ※UserFormを使用する以外にも、メッセージを表示する方法があれば、それでも結構です。

  • Personal.xlsでUserFormを開く

    Personal.xlsに登録したマクロでBookのUserFormを開くには? 環境:EXCEL2000 Windows7 Book1.xlsにUserForm1を作りました。 Book2.xlsにもUserForm1を作りました。 (Book1のUserForm1とBook2のUserForm1は異なるForm) Personal.xlsに次のSubを追加しました Public Sub DispForm1() ActiveWorkbook.UserForm1.Show vbModeless End Sub ツールバーに釦を追加しマクロ「DispForm1」を登録しました やりたい事 (1)Book1を開き釦を押すとBook1のUserForm1を表示する (2)Book2を開き釦を押すとBook2のUserForm1を表示する 問題点 釦を押すと 「オブジェクトは、このプロパティまたはメソッドをサポートしていません」 のエラーがでる アドバイスよろしくお願いいたします。

  • Excelが「応答しない」

    Windows XP Pro , Excel2003を使用しています。 Excelを起動し「ファイルを開く」でダイアローグボックスが出、「ファイルの場所」の下三角をクリックすると「このプログラムは応答していません」となり、終了してしまいます。 safebootでXPを起動するとExcelは正常に動き、上記の現象は起こりません。 常駐物を疑い、いくつかを起動させないようにしましたが変化はありません。 どうすれば正常に戻りますか。お分かりの方お教えください。