• ベストアンサー

VBA実行中にFormの出現

表題の件について質問します。 ExcelVBAでモジュールを実行する際に、 処理時間が長いため、処理中は前面にForm(ダイアログ等)を 出現させたいと思っています。 方法が分かる方、ご指導下さい。 また、Formに処理状況を%表示させたいのですが、 標準モジュールとFormを同時起動させた状態での変数受け渡しは ExcelVBAで可能でしょうか? 初心者なので、お手柔らかにお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

こんなのがありました。 http://officetanaka.net/excel/vba/tips/tips23.htm http://officetanaka.net/excel/vba/tips/tips13.htm http://www.k1simplify.com/vba/tipsleaf/leaf190.html 個人的には2つ目と3つ目のステータスバーに表示するのが簡単だと思います。

free_mees
質問者

お礼

参考になりました。 有難うございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • EXCELのVBAについて

    エクセルのVBAでユーザーフォームに作ったテキストボックスに入力した値を、コマンドボタンによる「実行」とともに別に作った標準モジュールの変数として代入するにはどうすれば良いでしょうか? 具体的な流れは、 マクロ実行  ↓ ユーザーフォーム出現  ↓ テキストボックスに数字を代入→「実行」  ↓ 変数を代入された標準モジュールによる処理完了 というものです。 ご教授お待ちしております。

  • Form1からForm2へ変数を送る

    VBの初心者です。 下のようにコードを記述してみました。 ・Form1のdNameをForm2へ送り、ラベルに表示。 ・変数dNameは標準モジュールで定義。 **Form1** dName = delname.Text Form2.Show **Form2** Label.Caption = dName **標準モジュール** Dim dName As String しかし、ラベルにdNameの値が表示されません。 なにか良い解決策を教えてください。 あと、標準モジュールについてわかりやすく教えて下さい。

  • ExcelVBAについて

    表題の件、質問致します。 ExcelVBAでFor関数を使用して1~518400のループをしています。 処理が長いため、進捗状況(%表示)をFormに表示させているのですが、 処理が15%程度進んだところでFormの表示が止まってしまいます。 止まっているのはFormの表示のみで処理自体は実行されている ようなのですが、これはどういう現象なのでしょうか? Formにちゃんと100%までを表示させるにはどうしたらよろしいですか? ※ちなみにプログラム内にDoEventsは設置しています。 どなたか分かる方、ご指導お願い致します。

  • Form1に記述されたスクリプトをForm2のボタンクリックで実行させたい

    おせわになります VBのVer.6使用しています Form1には仮に以下のような計算をする内容があるとします Private Sub testA() Text1.text = 10 Text2.text = 20 End Sub これをForm2のボタンをクリックすると実行するようにするにはどうしたらよいでしょうか? 上のPrivateをPublicにしても駄目でした 標準モジュールではオブジェクトがないのでエラーとなりました よろしくお願いします

  • VBA

    VBEの標準モジュール(例Module1)にVBAのプログラムを書き、 実行した時、ワークシート(例Worksheets(”sheet1”)のウインドウを自動的に開くには(前面に持ってくるには)どのようにコーディングすれば良いのでしょうか。今は実行後確認するため、プロジェクトのSheet1で右クリックして「オブジェクトの表示」でSheet1を出したり、タスクバーをクリックしていますが。まずSheet1を前面に出して処理をしたい。Activate,Select、Showなど試しても効果がありません。

  • フォーム間での共有変数

    今、フォームを二つ表示し、お互い共通の変数を使って値の受け渡しをさせたいのですが、どうもうまくいきません。 知り合いには標準モジュールを使えばいいって聞いたので さっそく「プロジェクト」→「標準モジュールの追加」をし、 でてきたエディタに変数を追加 起動してみると・・・ちゃんと値の受け渡しができていませんでした。 ただ追加するだけでは受け渡しはできないのでしょうか? それとも標準モジュールの時点で間違いでしょうか? どなたか、レスお待ちしてます

  • Excel VBAにて2つの処理を同時実行可能?

    是非お力をお貸し下さい。 よろしくお願いします。 Windows XP Excel2003 (VB6.0) メイン処理が非常に時間がかかるため、フォームを表示させ 文字(Label)を点滅させて「動いている(ハングアップしていない)」ことを 使用者に伝えようとしています。 --- Form1内のコード(メイン) --- Sub Main() Form2.Show vbModeless [ ~メイン処理~ ] End Sub --- Form2内のコード --- Sub UserForm_Initialize() Call Blink End Sub --- 標準モジュール内のコード --- Sub Blink() If Form2.Label1.Visible = True Then Form2.Label1.Visible = False Else Form2.Label1.Visible = True End If Form2.Repaint DoEvents Application.OnTime Now + TimeValue("00:00:01"), "Blink" End Sub これを実行すると、メイン処理が終了した後にForm2内の文字が 点滅します。 実現したいのは「使用者が動いていることを(ハングアップしていない ことを)確認出来る」という点です。 どうぞ よろしくお願いします。

  • VBAのユーザーフォームを実行しようとすると…。

    オブジェクトがありません、とのエラーメッセージが出て、実行できません。 標準モジュールには以下のようなプロシージャを記述しているのですが、デバッグしてみると、2行目の「○○○.Show」の部分が黄色く反転しているのです。 しかし、○○○の名前をつけたユーザーフォームは存在するのです。オブジェクトがない、とのエラーメッセージが出る理由がわかりません。 どなたか解決方法を教えていただけませんでしょうか。 Public Sub Form_Show() ○○○.Show End Sub

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

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

  • VBA 変数の受け渡し

    エクセルVBAで標準モジュール内でインプットボックスに入力した変数をユーザーフォームに受け渡してユーザーフォーム内のリストボックスに表示させる場合どのように変数の受け渡しを行えばよいか教えてください。 現在は、一度ワークシートの任意のセルに値を書き出し、その後ユーザーフォームのイニシャライズで先ほどのセルから値を受け取るようにしています。 標準モジュールではインプットボックス入力後「UserForm1.Show」でユーザーフォームの立ち上げを行っています。

ルーター変更の手続き方法は?
このQ&Aのポイント
  • TS5330を昨年購入し、年賀状印刷できましたが、1年ぶりにプリンターに繋がらず、ルーター変更を思い出しました。しかし、変更しようとしてもエラー(サポート番号3441)が出てしまいます。
  • TS5330を昨年購入してセットアップし、年賀状印刷もスムーズに行えたが、1年後の年賀状制作時にプリンターが繋がらなくなった。思い出したことでルーター変更を試みたが、エラー(サポート番号3441)が発生してしまう。
  • 昨年購入したTS5330はセットアップも問題なく行え、年賀状印刷も可能だったが、1年ぶりの使用時にプリンターが繋がらず、ルーター変更を考えた。しかし、変更しようとするとエラー(サポート番号3441)が表示される。
回答を見る