|
▼いのり さん:
>挿入先のセルは、「列の幅」が1のセルが35個結合されているので、
>作業用のセルの「列の幅」を35にしてみたんですが、挿入先のセル
>よりかなり幅が小さいんです。
列の幅 は、どの数値でしょうか?
列を選択して、列幅を表示すると出てくる数値?
これは、VBAで扱うプロパティとしては ColumnWidth という、実に怪しげな(?)不確かな数値です。
標準フォントの半角の 0 が セル内に何個収まるかという数値で、
かつ、これを倍にすれば格納できる文字数も倍になるかというと
そうではなく、エクセル流に、前後に遊びの部分がはいるようです。
エクセル内部では、なんらかの基準で処理しているのでしょうから【仕様】といえば、そうなりますが、
コメントしたようにどういう基準なのかの公開が皆無です。
また、これもコメントしましたが、セルには収まっているものが、印刷すると、
末尾がきれてしまったりすることはしょっちゅう発生するわけで
画面描画と印刷の仕様にも不整合があります。
ちなみに、より正確(?)な列幅は VBAで扱うプロパティとしては、ColumnWidth ではなく Width(ポイント値)。
でも、この Width は参照できますが、設定数値として与えることはできません。
あるいは、シート上段の列記号、この右端にマウスを当て、左右矢印付の十字マークがでた状態でクリックすると
幅: 8.38(72ピクセル) といったように表示されますが、
8.38 は あてにならない ColumnWidth、72 が 確かな数値(ピクセル値)です。
いずれにしても、
>画面上に定規を当てて調べたら55.88でほぼ同じになったのですが、納得がいきません。
納得はいかないでしょうが、もともとが、あてにならない数値です。
コメントしているように、このあたりの情報開示がないことと、仮に情報開示があっても
画面描画と印刷の不整合はありますので、苦労して、こと文字列処理に関しては貧弱なエクセルを
使うこと自体が、今回の目的からいえば、【労多くして功少なし】ということだと思いますよ。
|
|