[[20171214175028]] 『セル内の文字を折り返し設定したときに自動でフォ』(さんま) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『セル内の文字を折り返し設定したときに自動でフォントサイズ変更』(さんま)

エクセルのセル内の文字を折り返し設定したときに、印刷時にはみ出ている時が多々あります。文字の折り返し設定をしてはみ出ないようにフォントサイズを自動で適切に収まるサイズに変更することはVBAでは可能ですか?

色々調べたのですが、
折り返しする .WrapText = True
の場合はフォントサイズ自動 .ShrinkToFit = True

両方は設定できないでしょうか???

< 使用 Excel:Excel2016、使用 OS:Windows10 >


セル内の文字列の最後に、スペースをいくつか付け加えたり、改行コードを付け加える。
(mm) 2017/12/15(金) 09:08

mmさんコメントありがとうございます。

セル内の文字列の最後に、スペースをいくつか付け加えたり、改行コードを付け加える。
↑改行コードを付け加えるということは何文字以上は改行するというVBAを作ればいいのですね。

?@何文字以上は改行する
?A文字サイズを変更する

という工程を組めばよいのですね。

文字のサイズを適切な大きさに自動で変更するということはVBAでは可能なのでしょうか??

(さんま) 2017/12/15(金) 09:44


セルの文字数とかで判断するんじゃないでしょうか?

(mm) 2017/12/15(金) 14:28


両方は設定できないでしょうか???

あぁ、ぼくも両方できて欲しいです。
けどできない><

>印刷時にはみ出ている時が多々あります。
エクセルの弱点ですね^^;
ですが、エクセルの場合、表計算が主なしごとですから、
大量の再計算を優先して、表示はざっくりな計算しかしてません。
印刷もプレビューを見てもほぼ正確かなぁという感じで、まれに文字が切れるし。
そして、「MS Pゴシック」などのフォントは文字毎に幅が違うので、
正確な計算は難しいようです。
作業用シート等に列幅を合わせたものを用意し、MS ゴシック等で1行に何個文字が入るか数えて、
それで計算したら、余裕ある感じになりますが、運が悪ければ1〜2行分空白が出来る場合があります。

>セル内の文字列の最後に、スペースをいくつか付け加えたり、改行コードを付け加える。
行高を変えられないならこの方法は使えないかなと思います。

そんなことがもし上手くできるツールがあれば、有料でも欲しいかも知れませんね^^
でも、エクセルが同んな感じで計算して表示してるとか各文字のフォント幅のデータがないと
辛いかなぁ思います。

も少し検索したり、実験したりして、なにか解ればまた書くかも。(期待薄)

(まっつわん) 2017/12/15(金) 15:04


メイリオというフォントを最近知ったけど、それだと文字切れが発生しない?
(画面表示より印刷時に文字が小さい?)
逆の報告もあるようだけど、試す価値ありそう?
(試してないけど^^;)

(まっつわん) 2017/12/15(金) 15:30


まっつわんさんコメントありがとうございます!!!

エクセルの場合、表計算が主なしごとですから

↑どうしてできないのか分かりました!!!!計算が主!その通りですね!エクセルに多く求めすぎました。。

ほんとに私も有料でもあるなら欲しいくらいです!!!

メイリオ??

ちょっと試してみます!
(さんま) 2017/12/15(金) 15:43


私の場合は、セルは改行あり設定にしておいて、マクロでそこにデータをセットする際、一番文字数が多そうな列(複数列でもOK)の場合は、文字列末尾に改行文字を追加してますね。 文字列や文字種によっては1行でも足りない場合が出る可能性があるのですが、大抵は1つ改行を加えるだけで切れなくなります。 無駄に改行する場合もありますが、切れて読めなくなるよりマシでしょ?、という感じ。
(???) 2017/12/15(金) 15:45

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.