- 締切済み
リストボックス内を昇順並べる方法
リストボックス内で、Columns Countを7に設定しています。 それで、左から2つめの項目を昇順に並べたいのですが、何か良い方法を知っておられる方は、教えて下さい。 宜しくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
設定とかでは、良い方法は無いと思います。 (1)ListfillRangeを使っているなら、そのセル範囲内でエクセルVBAでソート。 ただしMultiColumnは無理でしょうが。 (2)データソースをAddItemする前にアイテムをソート。 ソートは、自作となろう。 (3)ソートを指示・設定できる、別のコントロールを導入する。 アクセスのようにdataSourceにSQL文を書くことができて、ORDER BYが書けると良いが、そういう仕組みはないです。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 前回の私の回答のときに、私の補足要求を、そのまましてしまったというか、分からなくなってしまったようですから、私としては、ご質問者さんは、技術的には、まだ力不足のような気がします。 「Columns Countを7に設定」というのは、ColumnCount を7にしているということだと思います。かなり無理な状態をされているようです。本来は、それは、SpreadSheet コントロール(その他のコントロールの中にあります。Microsoft Office SpreadSheet)を使ったほうがよいと思います。ワンクリックで、並べ替えられます。レイアウトは、プロパティで、ListBox のように換えられます。 例: Private Sub UserForm_Initialize() Spreadsheet1.Range("A1:G12").Value = ActiveSheet.Range("A1:G12").Value End Sub しかし、もし、シートを参照しているのでしたら、シートの並べ替えをしてから、再度、その範囲をRowSource として、再設定すればよいのではありませんか?
お礼
回答ありがとうございました。 VBAは今年の9月から仕事の都合で始めたばっかりで、まだ何も分かっておりません。 不快な質問や対応をしていたようなので、すみませんでした。 ただ、こちらも必死で勉強をしております。 今回は、他のシートで抽出を行った後に、そのシートで並べ替えをして、リストボックスに表示するようにしました。 また、何か分からない事がありましたら助けて下さい。 ありがとうございました。
- yossy0426
- ベストアンサー率24% (32/130)
どうもです。 ソフトは何でしょうか? 後ヴァージョンも解かれば回答がつき易いと思います。
補足
ソフトはExcel2000です。 バージョンとは、何でしょうか? 初心者なのですみません。 VBAです。 宜しくお願いします。
お礼
解決しました。 ありがとうございました。