|
▼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コントロールを使ってしまいますが・・・。
それからこのリストボックスって、シートに貼り付けたものですか?
それともユーザーフォームですか?
|
|