• ベストアンサー

Excel VBA フォームサイズ変更について

ExcelVBAでボタンを押すとフォームのサイズを拡大したいのですが、できるのでしょうか? ご存知の方がいればご教授ください。 <考えている事> 初期フォームが表示され、いくつか選択項目があります。 「詳細条件」ボタンを押すと 同じフォーム上に詳細条件の選択項目を出したいのです。 (たとえばフォームが下に広がるイメージ) 分かりにくい部分があれば補足します。 WindowsXP+Excel2002

  • a-k-a
  • お礼率43% (77/176)

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

  • ベストアンサー
  • nicnicnic
  • ベストアンサー率47% (8/17)
回答No.1

はじめまして できると思います。 あらかじめ大きなフォームを作っておいて、そこに全ての項目を設定しておきます。 で、フォーム自体は半分とかの大きさにしておいて、次のようなコードを書けばよいのではないでしょうか? '詳細ボタン Private Sub CommandButton1_Click()  UserForm1.Height = UserForm1.Height * 2  CommandButton1.Enabled = False End Sub '設定完了ボタン Private Sub CommandButton2_Click()  UserForm1.Height = UserForm1.Height / 2  CommandButton1.Enabled = True End Sub うまく伝わりましたか?

a-k-a
質問者

お礼

ありがとうございました。 まさにやりたい事でした。 >大きなフォームを作っておいて、フォーム自体は半分とかの大きさにして この発想がなかったです。 フォームを半分したら見えない部分は消える?ものだと思ってました。

その他の回答 (1)

回答No.2

お世話になります。 Private Sub CommandButton1_Click() Me.Height = 360 '高さ Me.Width = 250 '幅 End Sub でよろしいでしょうか?

a-k-a
質問者

お礼

ありがとうございました。 固定で広げることもできるのですね。 #1さんと共に参考にさせて頂きます。

関連するQ&A

  • vba フォームに取りこんだ画像をシートにコピー

    vba初心者です、宜しければ教えて下さい。 ユーザーフォーム上に画像をドラッグドロップしたら、その画像、ファイル名、パス名がフォーム上に表示されるところまで作成しました。以下のサイトをそのままですが、参考にさせてもらいました。 (参考サイト:https://www.excel-pitin.net/single-post/2017/08/06/画像をドラッグ&ドロップで表示させる) このImage1オブジェクトに上書きした画像を別シートの指定セルA1に貼り付ける方法を知りたいです。いました。 保存後に画像のパスが変わっても表示が崩れないようにしたいので、Picture.insertではなくShapes.AddPictureを使うというところまで、調べたのですが、そこから先で詰まってしまい、分かりません。(参考https://excel-ubara.com/excelvba5/EXCELVBA226.html ) 最終的には、ユーザーフォーム上のプレビュー画像に ・ボタン操作で、画像を拡大縮小する ・マウスでドラッグして位置を直接微調整する 機能も付けれればなと思っています。 宜しければご教授お願いします。

  • フォームについて

    ネットショップによくある「商品詳細ページ」で、カラーやサイズを選べるセレクトボタンがついていますが、ここで好みのカラー、サイズを選んでもらい、その下に設置した「フォームへ」ボタンを押すと、次の「フォーム入力画面」に移動します。 そこではカラー、サイズ部分は自動で前のページで選択したものが入力されていて、その他の情報を入力して完了ということをしたいのですが。。。 いろいろ調べましたがわかりませんでしたので、どなたかご回答お願いいたしますm(_ _)m

    • ベストアンサー
    • HTML
  • ExcelのVBAで選択したフォームデータの維持

    フォームでコンボボックスの内容をInitialize()にaddItemで記入すると、フォームを閉じて、改めて開くと、初期化されてしまいます。 これを、改めて開いたときにも、前回指定した内容が保持されていて、フォーム上のリセットボタンを押すまで初期化されない方法をご教示ください。 もし、ファイルを閉じても選択内容を保持できる方法があれば、合わせてご教示頂けたら幸いです。 使うアイテムは、コンボボックスとチェックボックスとして、各アイテムを選択した後、OKボタンを押して、その内容をセルに反映させ、リセットボタンで初期化することを想定しています。 よろしくお願いいたします。

  • エクセル VBA ユーザーフォームで検索したいのですが

    つい昨日触り始めた大初心者です。。 エクセルシートにて 数値を記した列と、詳細を記した列があります。 ユーザーフォームにて textboxに数値を入力し、ボタンをクリックすると 検索をして、ユーザーフォーム内のlabelに詳細が表示される、といったvbaを書いているのですが、どうにもうまくいきません。 また、textboxに検索範囲にない数値が入力されたときには Labelに「なし」と表示させたいのですが、 エラーが出てしまい、その処理もやはりうまく出来ません。 どなたかご教授いただけますでしょうか。

  • アクセスのVBAなんですけど

    アクセスのVBAでフォームからフォームへ値を渡すことはできますか?具体的にいうとあるフォームでコンボボックスから選択し、OKボタンで次のフォームを開くのですが、初めのコンボボックス(ちなみに5つ選択項目があります)で選んだ条件でフォームの表示内容を変更させようと思っています。 今のところ、選択した項目を一時的にテーブルに保存して、新しいフォームが開くときにテーブルから値を取得してやるのか・・・・と考えているのですが、まどろっこしいので・・・・・よろしくお願いします。

  • ExcelVBAでユーザーフォームが勝手に閉じてしまいます。

    ExcelVBAでユーザーフォームが勝手に閉じてしまいます。 ExcelVBAを独学で始めてまだ2週間足らずの超初心者です。 Excelワークシートにコマンドボタン配置してそのコマンドボタンを押すとユーザーフォーム1が開き、ユーザーフォーム1に配置してあるリストボックスからリストをダブルクリックで選択すると、ユーザーフォーム2が開くように設定しています。ただ、ユーザーフォーム1のリストをダブルクリックして選択した時点でユーザーフォーム1が勝手に閉じてしまいます。ユーザーフォーム1を勝手に閉じさせないでコマンドボタンで閉じるようにしたいのですがどうしたらよいのでしょうか。レベルの低い質問かもしれませんが困っています。宜しくお願い致します。

  • Excel VBA 有効化しても無効化になる

    知っている方ご教授願います。 会社のVBAでデータベース.CSVをVlookで管理表のExcelシートへインポートするVBAを使用しています。 (オープンフォームから、ファイルを選択し起動ボタンを押す) 先日、今まで通りに同じようにインポートしようとしたところ、 「コンテンツの有効化」で有効にする⇒マクロを起動⇒「マクロが無効化されています。」となり、フォームが起動しなくなりました。 インターネットでしらべましたが、 原因不明です。以下のことはやってみました。 1.セキュリティセンターの設定で、「デジタル署名されたマクロを除き、すべてのマクロを無効にする」にしてます。 2.Excelをすべて閉じ、PC再起動しました。 3.以前に使えていた時の、ExcelVBAのモジュールをコピーしてみました。 以上です。 わかる方教えていただけませんでしょうか。 尚、他のVBAが組んであるExcelファイルは動きますので、今使っているインポートの管理表だけが使用できない状況です。

  • EXCEL VBAでユーザーフォームを使ってデータを入力したい。

    EXCEL VBAでユーザーフォームを使ってデータを入力したいと思っています。(ユーザーフォームはできています。) 入力項目が4項目あります。 名前 作業コード 開始時間 終了時間 上記4項目と登録ボタンです。 sheet1にユーザーフォームを表示し sheet2の A1に名前 B1に作業コード C1に開始時間 D1に終了時間が 登録ボタンを押すごとに どんどんデータを記録していきたいのです。 VBA初心者ですのでコードがよくわかりません。 ご教授ください。よろしくお願いいたします。

  • ユーザーフォームのスクロールについて(エクセル2000VBA)

    お世話になります。 上下に長いユーザーフォームを作成し、スクロールして使っています。 1~4まで項目があり、ボタンをクリックするとその項目の先頭まで自動的にスクロールするような仕組みを作りたいのですがどうしたらよいでしょうか? Private Sub CommandButton1_Click()  TextBox1.SetFocus  '項目の先頭にあるテキストボックスに移動する End Sub という風なコードはできたのですが、ボタンの位置よりテキストボックスが下にあると、フォーカスしたテキストボックスがユーザーフォームの一番下に表示されてしまいます。 また、上方向にいく時も、テキストボックスの1行上に配置してあるタイトル(ラベルで作成しました)が表示されないので少し不便な気がします。 例えば、FAQサイトによくあるような、目次をクリックするとその項目が一番上に表示され、「Top」をクリックしてページ先頭にジャンプするような感じにしたいのですが…。 よろしくお願いします。

  • AccessVBA フォームを自動で消したいです

    こんにちは。たびたび質問させていただいています。 今回の質問は表題に書きましたが、詳しくはこんな感じです。 あるフォームに「マスタを開く」ボタンがあります。 そのボタンをクリックすると、「詳細」で開くのか「標準」で開くのか を選択するフォーム「表示形式選択」がでてきます。 詳細か標準かをチェックボックスで選択したあと「表示」ボタンで それぞれ選択した方のテーブルを表示させます。 この時、テーブルが表示されたら「表示形式選択」フォームはいらない ので自動的に消えるようにしたいのですが、うまくいきません。 ちなみに私がとった方法は「表示ボタン」をクリックした時、 各テーブルの表示処理をしたあと、一番最後に「Docmd.Close」と記述 したのですが、そうすると表示したテーブルが消えてしまいました。 一体どうすれば自動でフォームが消せるのでしょうか? ご教授よろしくお願いします。

専門家に質問してみよう