- ベストアンサー
ユーザーフォームの配置について
本を見ながらユーザーフォームを作ってみました。 Showメソッドで表示させると、ページの真ん中に表示されドラッグでいちいち動かさないといけなくなります。 最初からページ中央より2cmほど画面に向かって右にずれた位置に表示させたいのですが方法をご存知でしたら教えていただけないでしょうか。 よろしくお願いします。
- Visual Basic
- 回答数3
- ありがとう数2
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
プロパティ画面でStartUpPositionを0 Manualにして LeftとTopを好きな値に設定すればよいのでは? (Win98+Excel97VBA)
その他の回答 (2)
- Chika-F
- ベストアンサー率60% (6/10)
こんにちは。Chika-Fです。 追加レスです。 上記で何気なく書いたのですが(苦笑) Form_Load時に Form1.Left の値を変数に 取得しておいた方が良いでしょう。 そうしないとフォーカスを失った後に 再度フォーカスした時、現在の位置より 更に右に移動してしまいます。 Public posLeft As Integer Private Sub Form_Load() posLeft = Form1.Left End Sub Private Sub Form_GotFocus() Form1.Left = posLeft + 2000 End Sub
お礼
教えていただいた方法を実行してみました。 思っていた通りにできました。 本当にありがとうございました。
- Chika-F
- ベストアンサー率60% (6/10)
こんにちは。Chika-Fです。 Form_GotFocus時に FormObject.Move を使用して 移動させたら如何でしょうか。 簡単な説明ですが分かりますか? 例えば、 デフォルトの表示位置を「画面中央」に設定します。 Private Sub Form_GotFocus() From1.Move Form1.Left + 2000 END Sub
関連するQ&A
- ユーザーフォームのHide,showメソッド
ExcelのVBAでユーザーフォームをHideメソッドで非表示にして、 showで再表示すれば、状態が保存されたまま表示されるはずですが、 ユーザーフォーム表示中またはHideメソッドで隠した後に コマンドボタン等が配置されたシートを削除したときは、showで再表示しても、 ユーザーフォームの状態が保存されていません。 これはどうしてでしょうか? また解決策等ありましたら、教えてください。
- 締切済み
- Visual Basic
- フォームの表示位置
いつも拝見させていただき勉強しています。 VB初心者です。 親フォームから子フォームを、 loadメソッドとshowメソッドで、 よびだして表示させようとしているのですが、 フォームの位置をコントロールすることは できるのでしょうか? 画面中央に表示させたいのですが、 左上のほうに表示されてしまいます。
- ベストアンサー
- Visual Basic
- ユーザーフォームの表示
マクロでユーザーフォームを作成しました それをワークシート上に表示させたいのですが方法がわかりません ネットで調べてみるとShowメソッドを使うとありますがやり方がイマイチわからないのです。 どなたかわかりやすく解説して下さい
- 締切済み
- オフィス系ソフト
- メールフォームの位置を下げる方法
本を見ながらメールフォームを作ったのですが、 フォームの位置を指定する方法が分かりません。 ALIGN=で右、中央、左の指定が出来ますが、 下に下げる事は出来ません。 今はページ上に表示されています↓ ------ A ------ ↓このように30cmぐらい下に下げたいのですが… ------ A ------ ご存知の方がおられましたらご教示下さい。
- 締切済み
- その他(インターネット・Webサービス)
- ユーザーフォームの表示について
Aというブックを選ぶと車というシートが一番最初にあるのですが、 これをvbaでshowと記述しても一旦他のシートを選んでからでないと 表示されません。 ブックを開いた瞬間にユーザーフォームを表示したいのですが、何か方法はあるでしょうか? どうしてもうまくいきません。。 やりたいことは、ブックを開いたら、フォーム(自分で作ったユーザーフォーム)を開いたときから表示させたいのです。知ってる方がいたら教えてくれると助かるのですが。
- 締切済み
- オフィス系ソフト
- フォームの開く位置を揃えたい。
フォームの開く位置の不揃いを改善する方法を知らないので、ご存じの方のご指導をお願いしたいと思います。 「フォームの設定」 フォームは全て「ポップアップ」設定にしています。 「改善したいこと」 コマンドボタンでフォームを開く時、フォーム毎に開く位置が違っていて違和感を感じています。開く位置をパソコン画面中央とかに揃える設定は可能でしょうか。 「実施していること」 フォームを修正した際、フォームを開く位置が極端にずれる時などは、フォームを中央にドラッグさせフォームの「タイトルバー」を「右クリック」し、表示されたメニューから「上書き保存」を選択し実行しています。 以上ですが、宜しくお願いします。
- ベストアンサー
- その他MS Office製品
- ユーザフォームの入力結果の受け取り
VB6でMsgBoxやInputBoxのフォントを変えたいので、それらしきサブルーチンを作成しました。そのサブルーチンはユーザフォームへの表示内容を設定した後、それを呼び出し(Show method)、押されたコントロールボタンの番号やテキストをパブリック変数に入れて戻っています(Show methodの次のステップに戻りました)。これを引数で受け取るにはどうすればよいのでしょうか(パブリック変数を使いたくないので)。よろしくお願いします。
- ベストアンサー
- Visual Basic
- VBAのユーザーフォームの使い方
皆様、こんにちは。 VBAのユーザーフォームを習い始めた初心者です。本の説明を読んでもユーザーフォームの使い方がよく分かりません。例えば、あるセールをクリックしたら、フォームが表示される、そしてフォームの中にあるコンボボックスのリストの中から選ばれた値が最初に選択したセールに入力されるという使い方がありえますか?申し可能でしたら、コード作成の例をいただけないでしょうか? どうぞよろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルのユーザーフォームのスクロールについて
現在、エクセルのユーザーフォームを作成中ですが、 ユーザーフォームに下記のようにコードを書き込み スクロールをさせていますが、 Private Sub UserForm_Initialize() Me.Height = ActiveWindow.Height Me.ScrollBars = fmScrollBarsBoth Me.ScrollHeight = 655 End Sub このユーザーフォームにマルチページを使用しているせいか、 ユーザーフォームを呼び出す際に、マルチページのトップ位置から スクロールのカーソルの位置が指定されてしまい、 ユーザーフォームのマルチページより上部がスクロールしないと 絶えず見えないようになってしまっている状況です。 ユーザーフォームを呼び出す際に、このユーザーフォームの 上部(一番上)からスクロールのカーソルが設定できるようにするには どのようにすればよいか教えて頂きますでしょうか? よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
お礼
うまくできました! VBAをはじめたばかりなので、わからない事ばかりです。 プロバティ画面でこんな設定ができるとは……。 勉強になりました。