Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


10684 / 13646 ツリー ←次へ | 前へ→

【20400】フォームサイズとスクロールバーの調整 困っているヒト 04/12/8(水) 9:35 質問[未読]
【20403】Re:フォームサイズとスクロールバーの調整 IROC 04/12/8(水) 10:27 回答[未読]
【20412】Re:フォームサイズとスクロールバーの調整 困っているヒト 04/12/8(水) 13:02 お礼[未読]
【20407】Re:フォームサイズとスクロールバーの調整 Asaki 04/12/8(水) 12:12 発言[未読]
【20411】Re:フォームサイズとスクロールバーの調整 困っているヒト 04/12/8(水) 12:55 お礼[未読]
【20426】Re:フォームサイズとスクロールバーの調整 ichinose 04/12/8(水) 20:54 発言[未読]

【20400】フォームサイズとスクロールバーの調整
質問  困っているヒト  - 04/12/8(水) 9:35 -

引用なし
パスワード
   1.フォーム(VBA)とスクロールバーのプロパテイを次ぎのとおり設定しました。
  Height=999.75 (1000にしたら自動的にこのようになりました)
  Width=801
  keepscrollsbarvisbl=3
  scrollbars=3
  scrollHight=1200
  scrollWidth==802.25
2. 縦のスクロールが上手く行かないので  scrollHight=1200 を 1500にした
  ところフォーム全体は見えましたが多き過ぎました。

3.ということでフォームとスクロールバーの調整の仕方についてご教示いただければ
  幸いです。 ご多忙かと思いますがよろしく願います。

【20403】Re:フォームサイズとスクロールバーの調整
回答  IROC  - 04/12/8(水) 10:27 -

引用なし
パスワード
   何を求めているのか分からないのですけど・・

【20407】Re:フォームサイズとスクロールバーの調整
発言  Asaki  - 04/12/8(水) 12:12 -

引用なし
パスワード
   こんにちは。

>3.ということでフォームとスクロールバーの調整の仕方についてご教示いただければ
>  幸いです。 ご多忙かと思いますがよろしく願います。
地道にやるしかないのでは?

【20411】Re:フォームサイズとスクロールバーの調整
お礼  困っているヒト  - 04/12/8(水) 12:55 -

引用なし
パスワード
   ▼Asaki さん:
>こんにちは。
>
>>3.ということでフォームとスクロールバーの調整の仕方についてご教示いただければ
>>  幸いです。 ご多忙かと思いますがよろしく願います。
>地道にやるしかないのでは?

早速の返信ありがとうございます。試行錯誤で地道にですか・・・やってみます!

【20412】Re:フォームサイズとスクロールバーの調整
お礼  困っているヒト  - 04/12/8(水) 13:02 -

引用なし
パスワード
   ▼IROC さん:
>何を求めているのか分からないのですけど・・

早速の返信有難うございます。
説明不足でごめんなさい! フォームの大きさに合わせてスクロールバーを有効に作動させるためのプロパテイの設定方法はどうしたらいいのでしょうか? ということなのですが・・・ 先刻発信もものは種別がなかったので送信されなかったようでした。

【20426】Re:フォームサイズとスクロールバーの調整
発言  ichinose  - 04/12/8(水) 20:54 -

引用なし
パスワード
   ▼困っているヒト さん、皆さん、こんばんは。


>1.フォーム(VBA)とスクロールバーのプロパテイを次ぎのとおり設定しました。
>  Height=999.75 (1000にしたら自動的にこのようになりました)
>  Width=801
>  keepscrollsbarvisbl=3
>  scrollbars=3
>  scrollHight=1200
>  scrollWidth==802.25
>2. 縦のスクロールが上手く行かないので  scrollHight=1200 を 1500にした
>  ところフォーム全体は見えましたが多き過ぎました。
>
>3.ということでフォームとスクロールバーの調整の仕方についてご教示いただければ
>  幸いです。 ご多忙かと思いますがよろしく願います。

ユーザーフォームには、複数のコントロールが配置されていますよね?
ScrollHeightの値は、スクロールによって見せたいコントロール位置を基準に
決めたらよいと思います。

垂直スクロールのみの例ですが・・・。

新規ブックにユーザーフォームを一つ作成して下さい(Userform1)。

このフォームのモジュールに以下のコードを記述して下さい。
'=======================================================
Private Sub UserForm_Initialize()
  Dim h As Single
  Dim txt As MSForms.TextBox
  h = 20
  For idx = 1 To 100
   Set txt = Controls.Add("Forms.TextBox.1", "textbox" & idx, True)
   With txt
     .Top = idx * h
     .Left = 10
     .Width = 30
     .Height = h
     .Text = idx
     End With
   Next idx
  With Me
   .ScrollBars = fmScrollBarsVertical
   .ScrollHeight = 101 * h + 5
   End With
End Sub

次にこのフォームを表示するコードを標準モジュールに
'====================================================
sub test()
  userform1.show
end sub

として、実行してみて下さい。

テキストボックスが100個作成されますよね!!
100個目のテキストボックス、つまり、フォーム上、最後のテキストボックスの

Topプロパティの値は、100*20=2000にコードで設定しています。
このテキストボックスのHeightプロバティは、20

よって、

 ScrollHeightプロパティには、2020にちょっとだけ余裕を持たせて
 101*20+5=2025に設定しました。

これでコントロールが全部スクロールで表示可能になりますよね?

動的に配置しましたが、静的配置でも同じです。

最初は、コントロールを貼り付けるためにScrollHeightプロパティを大きく設定し、
コントロール配置後、見せたいコントロールの最後の位置に合わせて設定すれば
よいと思いますが・・・・。

確認して下さい。

10684 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free