一つのセルに100字程度の文字を入れて、5・6行で全体が表示されるようにセルの設定で「折り返して全体を表示する」にチェックマークを入れています。
セルの高さが自動調節され、大体は全体が表示されるのですが、時々(結構?)セルからはみ出たり、ひどいときには一行丸まる表示されてなかったりします。
もちろん、そのときに気づいて手動セルの高さを調節すれば何も問題ないのですが、このようなセルがたくさんあるものですから一つ一つセルを読み返してチェックするのは非効率で困っています。
また、入力画面上では一つのセルに収まっていても、印刷プレビューでははみ出てたり、いちいちプレビューで確認していたら仕事にならないので困っています。
セルの高さの自動調整をかけたら、わざわざ文字の一部が表示されない高さに調節される場合があるので、これでは自動調節の意味もありません。
何かよい手立てはないでしょうか?いろんなフォントを試してみましたけど、これもダメでした。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
NO4です。
追記の内容から見ますと、列は1列のみで良さそうですね。(多列でもかまいませんが)
私なら、使用する全ての行高さを入力する文字数の最大数のものが入る高さの固定します。
その上でフォントはプロポーショナルで無いものを選択します。
文字数のすくないものがどうのこうの、自動調整がどうのこうのいうより手っ取り早いものと
思いますが・・・
この回答への補足
おはよう御座います。
最初に書いているように、各セル内に5・6行程度です(中には1行のものから30行になるものもあります)が、中にはもっと長い文章も入ることもあり、最大の行数は毎日更新されるされるかもしれませんのであらかじめ最大のセルの高さにあらかじめ設定することは難しいです。データー量としても、1セル内の情報量が上記程度で、さらにセルの列が5列、セルの行数は毎日追加され最終的に数百~数千行に達します。ですから、データ量の少ないセルに対しては自動調整をしてなるべく高さを抑えたいと思っています。
No.4
- 回答日時:
セルの中に書かなければいけないのでしょうか?
BOXを書いてBOX内に文字を書けば良いのではないでしょうか?
BOXの枠線はオートシェイブの書式設定で”枠無し”を指定すれば消えますので
セルの大きさを気にする必要は無いと思いますが...
ありがとう御座います。
ただ、今の作業はたくさんのセルに文字データを入力し、その後、並べ替えや文字列の操作を行うため、テキストボックスでは対応できません。
ちなみに、「テキストボックスの書式設定」→「配置」タブ→「自動調整」にチェックボックスを入れると基本的にはテキストボックスが文字列の長短に応じて自動的に調節されますが、ここでも入力画面と印刷とでズレが結構でます。これも、プリンタドライバとフォントの問題なんでしょうね。
No.3
- 回答日時:
を読んでみました。
調べてみましたが、どうも、セル内の行数が増えれば増えるほど、その狂いが生じてくるように思います。以前から、この問題は知っていましたが、仮に、VBAのコードでも、今だ定番のものがないように思います。それは、フォントサイズによっても、プリンタ・ドライバによっても変るからだと思うのです。一応、以下のようなマクロを作ってみましたので、できれば、Personal.xls (個人用マクロブック)の標準モジュールに登録して、ボタンなどで、マクロを登録して使ってみたらどうかと思います。
ただ、
'フォントサイズによって変動する定数
Const cFontSize As Double = 0.5
ここの部分は、なんともいえません。この値を増やせば、下側に隙間が多く増え、減らせば、当然、隙間がなくなります。今、フォント11で、180語、7行で試してみただけです。
Sub RowHight_Arrange()
Dim Rng As Range
Dim c As Range
Dim WordCount As Long
Dim StdHeight As Double
Dim CellRows As Integer
Set Rng = Selection 'マウスで、セルの範囲を選択
StdHeight = StandardHeight
'フォントサイズによって変動する定数
Const cFontSize As Double = 0.5
For Each c In Rng
With c
If .WrapText Then
.Rows.AutoFit '高さを自動調整
WordCount = LenB(StrConv(.Text, vbFromUnicode))
CellRows = WordCount \ .ColumnWidth + 1
.EntireRow.RowHeight = .RowHeight + _
((.Font.Size \ 2) * cFontSize) * CellRows
.VerticalAlignment = xlVAlignTop
End If
End With
Next c
End Sub
VBAは詳しく分かりませんが、確かにプリンタドライバやフォントサイズによって狂いが生じてきているのも確かですね。ありがとう御座います。
No.2
- 回答日時:
印刷時に文字が欠ける件については、下記URLの#4でいくらかマシになります。
お試しを・・・。
Excelでセル内の文字が印刷時欠ける
http://oshiete1.goo.ne.jp/kotaeru.php3?q=994662
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/12/26 12:05
- Excel(エクセル) エクセル セル内の文字数を超えたら自動的に折り返して表示 2 2023/07/24 05:32
- Excel(エクセル) エクセル、画像ファイル名の書かれたセル(複数個所)に画像を一括で表示させる方法 1 2023/04/19 00:19
- Excel(エクセル) 条件に合った数値の合計を表示させたい関数と条件指定の方法 3 2023/05/13 16:07
- Word(ワード) Wordの表中の文字を選択した時の白黒反転の違い 1 2023/04/25 12:13
- Excel(エクセル) Excel 特定セルの数値を参照したセルの0表示が空白にならないのはどうしてか? 3 2022/04/28 22:23
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/15 08:30
- Excel(エクセル) エクセルにおいてセル内の文字を出来るだけ大きく表示する方法を教えてください。 4 2022/07/30 08:08
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/04/21 08:59
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【エクセル】IF関数 Aまたは...
-
対象セル内(複数)が埋まった...
-
エクセルで指定したセルのどれ...
-
EXCEL VBA セルに既に入...
-
エクセル 足して割る
-
excelのCOUNTIF関数で、『範囲=...
-
【Excel】 セルの色での判断は...
-
貼り付けで複数セルに貼り付けたい
-
セルをクリック⇒そのセルに入力...
-
Excelで数式内の文字色を一部だ...
-
エクセルのセルの枠を超えて文...
-
エクセル オートフィルタで絞...
-
Excelでのコメント表示位置
-
(Excel)数字記入セルの数値の後...
-
Excelで住所を2つ(町名迄と番...
-
セルの高さ(行高)を求めるには?
-
エクセルの一つのセルに複数の...
-
VBAで特定の文字が入力されたセ...
-
Excelで条件をつけてハイパーリ...
-
Excelの関数で、性別が男なら『...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで指定したセルのどれ...
-
【エクセル】IF関数 Aまたは...
-
対象セル内(複数)が埋まった...
-
エクセル 足して割る
-
Excelで数式内の文字色を一部だ...
-
貼り付けで複数セルに貼り付けたい
-
Excelでのコメント表示位置
-
セルをクリック⇒そのセルに入力...
-
EXCEL VBA セルに既に入...
-
excelのCOUNTIF関数で、『範囲=...
-
【Excel】 セルの色での判断は...
-
エクセル オートフィルタで絞...
-
エクセルのセルの枠を超えて文...
-
(Excel)数字記入セルの数値の後...
-
Excelで、「特定のセル」に入力...
-
エクセルの一つのセルに複数の...
-
複数のセルのいずれかに数字が...
-
excelの特定のセルの隣のセル指...
-
数式を残したまま、別のセルに...
-
ハイパーリンクの参照セルのズ...
おすすめ情報