• ベストアンサー

【VBA】ユーザーフォームのサイズ状態の取得について

いつもお世話になっております。 現在、VBAにてユーザーフォームのサイズ状態を知る方法を探しています。 操作しているユーザーフォームが最小化、最大化状態であることを知る構文はありますでしょうか。 宜しくお願いいたします。

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

  • ベストアンサー
  • kuma3f
  • ベストアンサー率63% (28/44)
回答No.1

何のVBAかが分かりませんので、思われていることと違っていましたらすみません。 ExcelのVBAの場合、通常は最大化、最小化ボタンが無いので、表示か、非表示かの判断でよいのでいたら、Visible = TrueかFalseで判断されたらよいと思います。 例えば UserForm1.Show vbModeless でモードレスでユーザフォームを表示、非表示させる場合、 If UserForm1.Visible = True Then MsgBox "ユーザフォーム表示中" Else MsgBox "ユーザフォーム非表示" End If で判断できると思います。 また、 VBAでユーザフォームに最大化、最小化ボタンをつけることもできるので、 つけられて判断される場合は、ユーザフォームのサイズで判断されたらよいと思います。 例えば、 ユーザフォームのサイズの高さ(縦の大きさ)が標準時より大きいか小さいかで判断します。 (1)に標準時の高さをセットする Dim サイズ As Long サイズ = 180'←標準時のサイズの高さ(1) If UserForm1.Height = サイズ Then MsgBox "ユーザフォーム標準サイズ" Else If UserForm1.Height < サイズ Then MsgBox "ユーザフォーム最小化" Else MsgBox "ユーザフォーム最大化" End If End If

moncyasan
質問者

お礼

回答ありがとうございます。 > 何のVBAかが分かりませんので、思われていることと違っていましたらすみません。 説明不足ですみません。エクセルです。 ユーザフォームのサイズをセットしたらできました ありがとうございます。 これで今日はゆっくり眠れそうですm(__)m

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

関連するQ&A

  • エクセルVBAのユーザーフォーム

    いつもお世話になります。 エクセルVBAのユーザーフォームを印刷することは出来るのでしょうか?。可能であればやり方を教えてください。 宜しくお願いします。

  • VBA ユーザーフォームを速く開く方法について

    VBA ユーザーフォームを速く開く方法について 現在Excel2000を使用しています。 VBAにてユーザーフォーム1と2を作成して、ユーザーフォーム1のコマンドボタンを押すと userform2.showが実行されてユーザーフォーム2が開きますが、フォーム2にはテキスト ボックスなどが約400個程設置してあり、そのせいかフォーム2が開くのに約8~10秒程かかり ます。 そこでそのフォームを速く開きたいのですが、(1秒~2秒程で)どうしたら速く開くでしょうか? Application.DisplayFullScreen = Falseなどを使用しても余り効果がありません。 パソコン自体の処理速度もあると思いますが、できるだけ速くしたいです。 よろしくお願いします。

  • EXCEL VBA ユーザーフォームを修正するとエラーになります

    いつもお世話になっております。 同じような入力作業の手間を省くため、 Excel VBAでユーザーフォームを作りました。 うまく動作するのですが、更に改良を加え、操作を楽にすることを考えました。 プログラムをまとめ、ユーザーフォームに貼り付けてある ボタンを減らそうとしているのですが、ボタンを削除すると、次そのフォームを表示しようとした時、エラーが出ます。 デバックを押すと、userform.show のところが黄色くなります。 一度できあがってしまったユーザーフォームに改良を加える時(主にそこの部品を減らす時)はどうすればいいのでしょうか。 ぜひ、よろしくお願いします。

  • VBAでのユーザーフォームについて。

    初めまして。 今VBAのユーザーフォームでアンケートっぽいものつくってます。 最終的に結果ページをユーザーフォームにて表示させるのですが、 その結果ページのユーザーフォームを画像として保存したいのですが 方法がさっぱりわかりません。 (PrtScを押せばできるのですが処理で行いたいのです。。。) 以上よろしくお願いします。

  • ユーザーフォームの最小化

    http://www.serpress.co.jp/excel/vba047.html ここを参考にユーザーフォームに最小化のボタンをつけたのですがこの最小化を任意にするにはどうしたらいいでしょうか? 具体的にはユーザーフォームのボタンから他のエクセルを開いた時にとりあえずユーザーフォームを最小化しておきたいのです フォーム自体を小さくすることも考えたのですがまた戻すのが面倒でした。 ですので上記で作成したボタンを実行するには どうしたらいいでしょうか? 是非皆様のお力を貸してください。

  • エクセルのユーザーフォームについて

    エクセルのユーザーフォームについて教えてください。 ユーザーフォームにてメニュー画面を作成しました。 ユーザーはメニューからの操作だけでエクセルシートを作成できるようなマクロをつくりました。 ユーザーフォームのコマンドボタンでEXCELを終了させることはできますか? VBAの記述方法も教えてください。

  • VBAのユーザーフォームの使い方

    皆様、こんにちは。 VBAのユーザーフォームを習い始めた初心者です。本の説明を読んでもユーザーフォームの使い方がよく分かりません。例えば、あるセールをクリックしたら、フォームが表示される、そしてフォームの中にあるコンボボックスのリストの中から選ばれた値が最初に選択したセールに入力されるという使い方がありえますか?申し可能でしたら、コード作成の例をいただけないでしょうか? どうぞよろしくお願いいたします。

  • VBAでのユーザーフォームの使い方

    VBAのマクロでユーザフォームにボタンを配して、それによってエクセルシートのデータを更新するようなマクロを作りたいのですが、ユーザフォームの挿入でボタン配置まではできるのですけど、どのようにリンク付けするのかコーディング等、解りません。お教え下さい。簡単なサンプルコーディングがあれば助かります。

  • ユーザーフォームをホイールでスクロールする方法(Excel2000VBA)

    お世話になります。 エクセルで、上下に長いのでスクロールさせて使うユーザーフォームを作成しています。 このユーザーフォームが、ホイールでスクロールできないので、できるようにしたいのですがどうしたら良いでしょうか? フリーソフトはインストールできない環境ですので、できればVBAで行いたいのですが方法はありますでしょうか。 よろしくお願いします。

  • 【VBA】ユーザーフォームでvbYesNo

    VBA ユーザーフォームのコマンドボタンで「はい」「いいえ」を作成し、ダイアログボックスのvbYesNoと同等の事をしたいのですが、どうすればよろしいでしょうか? コマンドボタンを押すと「0」か「1」が返ってくるようにしたのですが、ユーザーフォームだけ表示され、回答を待たず次へ進んでしまいます。 ダイアログボックスのように選択の回答待ちのような状態にするにはどうすればよいかご教授おねがいします。

スキャン機能が正常に動かない
このQ&Aのポイント
  • スキャン機能が正常に動作せず、スキャン⇒PC⇒ファイル-フォルダ保存ができない問題が発生しています。
  • 最近、PCが不調になったため、PCを初期状態に戻した際にスキャン機能が正常に動作しなくなりました。
  • お使いの環境はWindows 10で、接続はUSBケーブルを使用しています。関連するソフト・アプリは特にありません。
回答を見る

専門家に質問してみよう