| 
    
     |  | ▼kz さん: こんにちは。
 
 >   すみません。リストボックス(ColumnCount=4)にデータを表示させる際、2列目だけを左揃えにし、それ以外は右揃えにしたいと思ってます。後者はプロパティで設定可能ですが、前者はプロパティで設定ができなかったので、構文で処理させなくてはいけないかと思います。「マニュアル分リスト.Column(1, i - 始発行).textalign=fmtextalignleft」を入力し、実行するとオブジェクトが必要です、というエラーが出るのですが、この構文ではまずいのでしょうか?
 >どなたか、教えてください。宜しくお願い致します。
 >
 >
 >マニュアル分リスト.Column(0, i - 始発行) = .Cells(i, 1).Value
 >マニュアル分リスト.Column(1, i - 始発行) = .Cells(i, 2).Value
 >マニュアル分リスト.Column(2, i - 始発行) = Format(.Cells
 >                          (i,3).Value, "#,##0")
 >マニュアル分リスト.Column(3, i - 始発行) = Format(.Cells                                  (i,4).Value, "#,##0")
 
 textalignプロパティは、リストボックスのプロパティです。
 右寄せ、左寄せの設定は、リストボックス全体にしか設定できないですね。
 
 私は、上記のような列によって右寄せ、左寄せに分ける場合には、
 設定(textalign)は、左寄せに設定しておいて、
 右寄せしたい列のメンバには、計算で頭空白を追加しています。
 
 よって、ColumnWidthsプロパティによって、各列の幅を設定したりすることも必要です。
 
 だいたいの目安で列幅72ポイント(1インチ)で文字サイズの値の文字数が格納可能です(若干の微調整は必要、尚、フォントがMSゴシック、MS明朝の場合です)。
 
 何回か試行錯誤すれば、規則がわかると思いますが・・・。
 
 空白を先頭に埋めるのは、データが半角文字ならRsetステートメントでも
 OKだと思いますが、漢字が入っていたりするとStrconv関数を用いての
 計算が必要になります。
 
 もっとも、私が上記のような事をするなら、リストボックスではなく、
 Spreadsheetコントロールを使ってしまいますが・・・。
 
 それからこのリストボックスって、シートに貼り付けたものですか?
 それともユーザーフォームですか?
 
 |  |