• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル97のユーザーフォームコントロールについて)

エクセル97のユーザーフォームコントロールについて

このQ&Aのポイント
  • 実行時にユーザーフォームが表示されない問題やプログレスバーの表示方法について質問があります。
  • ユーザーフォームが最小化してしまい表示されない問題についてご相談させていただきたいです。
  • エクセル97でプログレスバーを使用しているが表示できない問題に対して解決方法を教えてください。

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

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

プログレスバーは 別にUserFormを作って UserForm1からボタンで UserForm2.Show するなどしてください。 UserFormに、ラベル「Label1」を作って下さい。 Private Sub UserForm_Activate() With Label1 .SpecialEffect = 2 .BackColor = vbBlue www = .Width .Width = 0 End With For i = 1 To 1000 Me.Caption = i Label1.Width = i / 1000 * www Me.Repaint Next End Sub 説明が不足の場合は質問ください。 Excel97で確認しました。 ちなみに両方とも本の丸写しなので出典を (株)秀和システム Excel2000 VBA 実践プログラミング いろいろ勉強になります。 良かったら一度目を通してみてください。

psss
質問者

お礼

 ありがとうございます!! 実際にプログレスバーを表現できるようにしていただけたとは、オドロキました。  どうも、BVAは機能が充実し過ぎていて、まだ全体を把握出来ていないようです。まだまだ精進が足りないということですか・・・ Private Sub UserForm_Activate()の使い方を教わったので、理解できているか、応用で、始めに自分で言っていた、X/Y表示を書いて見たところ、上手くいきました。  実際の処理は、このFor~Nextの間で実行すればいいわけですね。 もしもそれで上手く行かなかった場合、改めて質問させていただくとして、今回はこれで一旦、締め切ります。  教えていただいた書籍も、是非入手して勉強したいと思います。  何からなにまで、本当にありがとうございました。

psss
質問者

補足

 同じ方に両方のポイントは割り振れないんですね。(苦笑) 残念です。  また、よろしくお願いします。

その他の回答 (1)

回答No.1

新規ブックでテストしてください。 Thisworkbookと UserFormに以下のものを 貼り付けてください。 Thisworkbookに Private Sub Workbook_Open() UserForm1.Show End Sub UserFormに Private Sub UserForm_Initialize() Application.WindowState = xlMinimized AppActivate "Microsoft Excel" End Sub プログレスバーは作成中です。

psss
質問者

お礼

 早速の回答、ありがとうございます。 私の試みは、ほとんど正解だったようですが、 >AppActivate "Microsoft Excel"  というコマンド(?)を知らなかったので、上手く行かなかったようです。 後は、まんま私の書いた記述通りでした。  大変勉強になりました、ありがとうございます。 >プログレスバーは作成中です。  次も考えていただいてるんですか。本当に申し訳ありません。 引き続き、よろしくお願いします。

関連するQ&A

専門家に質問してみよう