推しミネラルウォーターはありますか?

環境:Excel2002です

あるプロシージャーで求めた値をセルに表示する時、折り返し表示と行高さの設定を自動化したいのです。

求めた値(例) r="(1)~(3),(6),(8)~(11),(15)~(20),(23),(28)~(33),(35)~(38),(40),(42)~(48)"

rを入力するセル Range("I14:T14")
Range("I14:T14")は結合されていて列幅は 7*11=77 … 列幅は7*11=77で固定
行高さは24.75

求めた値 r は可変です
求めた値rの文字数が少なければ行高さ24.75 1行に問題なく表示されますが
文字数が多い場合は折り返し表示と行高さの設定をする必要があります
これを自動化する方法をご教示願います

入力される文字は MS Pゴシック 文字サイズ14 です

自動化する手順は以下だと思うのですが
(1)求めた値の文字数を求める 半角、全角が混在なのでLENBで求めるのでしょうか?
(2)入力するRange("I14:T14")の入力可能文字数(1行あたり)を求める
(3) (1)を(2)で割って行14の表示必要行数を求め、行高さを決定する
(4) rを折り返して表示する

贅沢な望みですが、この『VBAで折り返し表示と行高さの設定』は他のブックでも使用することになるので、表示するセルの列幅及び行高さは可変に対応できるようにしていただきたい

折り返して表示した時に【(1)~(3),(6),(8)~(11),(15)~(20),(23),(28)~(33】のように折り返して表示したら
)が切れた状態で表示されるのを回避できるのでしょうか?
【(1)~(3),(6),(8)~(11),(15)~(20),(23),(28)~】

よろしくお願いします

A 回答 (2件)

一言だけ。



Excelのセルに入る文字数は、使うフォントと接続されているプリンター、
OSやExcelのバージョンによって変わってきますから、長さを計算する
ことは事実上不可能です。

「このくらいで折り返すと入る」という文字数を目視で勝手に決めて、
その文字数で折り返す・・・というなら可能ですが、その場合、環境に
よっては、右側が目いっぱい空く・・・という可能性は十分にあり得
ますよ。
    • good
    • 0
この回答へのお礼

お礼遅くなりました
色々試してみましたがご指摘の以下の方法をとることにしました

「このくらいで折り返すと入る」という文字数を目視で勝手に決めて、
その文字数で折り返す

お礼日時:2013/03/03 16:01

セルのプロパティでやるしかないのでは?

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報