- ベストアンサー
ExcelVBAでユーザーフォーム内のリストボックスの設定について
教えてください、ExcelVBAでユーザーフォーム内にリストボックスを作りました。 複数列・複数行のワークシートデータを参照する設定です。 列は12列で、一番左の列に番号をふってあります。 行は31行で、一行目がタイトル表示してあります。 質問なのですが、このリストボックスは全列・全行表示する大きさでユーザーフォーム内に作成してあるのですが、いざマクロを動かすと幅は問題ないんですが、高さが縮んで自動的にスクロールが表示されます。 ユーザーフォームを大きくしてリストボックスも大きくしてやっても同じです。 このリストボックスの高さを固定させる設定はどうすれば良いでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ユーザフォームをロードするときにでもリストボックスのプロパティを設定してはどうですか? つぎの例は高さこそ指定していませんが・・・こんな感じでhighを設定すればなんとかなるのではないでしょうか。 With ctrl .Clear .ListRows = 10 .ColumnCount = 2 .ColumnWidths = "20 pt;120 pt" .ListWidth = "140 pt" End With
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
リストボックス、ユーザーフォームともにHeightプロパティがありますから、それを大きくしてみてはどうなりますか。フォームもスクロールバーもありにしてどうなりますか。 むしろリストボックスに持ってこず、生のワークシートのSelectionChangeイベントで考えてはどうでしょう。
お礼
早速ありがとうございます。いろいろやってみてとりあえず、リストボックスの目的が計算結果の表示なので Enabled を False Locked を True Integral Height を False に設定してみたところ、リストボックスが縮まなくなりました。しばらくこれでやってみます。 アドバイスありがとうございました。
お礼
早速ありがとうございます。いろいろやってみてとりあえず、リストボックスの目的が計算結果の表示なので Enabled を False Locked を True Integral Height を False に設定してみたところ、リストボックスが縮まなくなりました。しばらくこれでやってみます。 アドバイスありがとうございました。