[[20130212233426]] 『リストボックスの高さを固定するには?』(カシスソーダ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『リストボックスの高さを固定するには?』(カシスソーダ)

 こんばんは、よろしくお願いいたします。
 ユーザーフォームのリストボックスについての質問です。

 リストボックスのリストの行を削除したり行を追加したりしたら
 リストボックスの高さが変わってしまうという現象がおきています。

 ↓はリストボックスに格納したリストの各行の各列のデータを左右逆に入替えるものです。
 今回の質問はこのコードについてではなくリストボックスの高さが変わってしまうことに
 ついての対処方法です。

 ユーザーフォームにコマンドボタン一つとリストボックスを一つ配置しておきコマンド
 ボタンをクリックしたらリストボックスのデータが左右入れ替わります。
 このコマンドボタンをクリックしてリストボックスのデータが入れ替わったときにリスト
 ボックスの高さが変わってしまいます。
 リストボックスの幅によっては高さが増えていくときもあれば逆に減っていくときもあり
 ます。ユーザーフォームの下端より下へリストボックスの高さが増えていくときもあります。

 プロパティのListStyleをfmListStyleOptionにしたら高さが変わらなくなります。
 通常はfmListStylePlainにして使っています。

 リストボックスの高さを変えないようにするにはどうすればいいでしょうか?
 何か設定があるのでしょうか?
 ご存知の方、ご教示お願いいたします。

 Private Sub CommandButton1_Click()
  Dim retunum As Integer
   '列数
   retunum = 5
  Call lbretuirekae(retunum)
 End Sub

 'LB列入替えFunction
 Function lbretuirekae(ByVal retunum As Integer)
  Dim i As Integer
  Dim j As Integer
  Dim lstcnt As Long
  Dim lbary() As Variant
  Dim lbaryb() As Variant
   lst = Me.ListBox1.List
   lstcnt = Me.ListBox1.ListCount
   ReDim lbary(retunum - 1, Me.ListBox1.ListCount - 1)
   ReDim lbaryb(retunum - 1, Me.ListBox1.ListCount - 1)
   lbary = Me.ListBox1.Column
   For i = 0 To Me.ListBox1.ListCount - 1
    For j = 0 To retunum - 1
     lbaryb(j, i) = lbary(retunum - 1 - j, i)
    Next j
   Next i
   Me.ListBox1.Clear
   Me.ListBox1.Column = lbaryb
   Erase lbary
   Erase lbaryb
 End Function

 'リストボックスデータ格納
 Private Sub UserForm_Initialize()
  Dim i As Long
   For i = 1 To 1000
     Me.ListBox1.AddItem i
     Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = i * 10
     Me.ListBox1.List(Me.ListBox1.ListCount - 1, 2) = i * 100
     Me.ListBox1.List(Me.ListBox1.ListCount - 1, 3) = i * 300
     Me.ListBox1.List(Me.ListBox1.ListCount - 1, 4) = i * 500
   Next i
   Me.ListBox1.ColumnCount = 5
 End Sub

 Windows:XP SP3
 Excel:2002
 です。よろしくお願いいたします。

 IntegralHeight というプロパティを調べて見てください

 ichinose


 ichinoseさん、ご回答ありがとうございます。

 >IntegralHeight

 TrueになっていましたのでFalseにしたところ高さが
 固定されました。
 ありがとうございました。
 (カシスソーダ)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.