|
▼ichinose さん:
>▼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コントロールを使ってしまいますが・・・。
>
>それからこのリストボックスって、シートに貼り付けたものですか?
>それともユーザーフォームですか?
▼ichinose さん,こんにちは。
質問に対する回答ですが、ユーザーフォームに張り付けて使用します。
ichinose さんからのご指摘を考えると、私が考えて作ったものは、
非効率なんでしょうか?Spreadsheetコントロールを使えば
複数列の表示も右寄せ左寄せも、簡単にできるのでしょうか?
|
|