Excelのセル内改行について

このQ&Aのポイント
  • Excelのセル内改行についての質問です。セル内の強制改行を使うことで見た目と印刷の差異を回避する方法がありますが、縦書きのセルの行の高さが調整されない問題があります。
  • 縦書きのセルには2行(列)に収める必要があるため、強制改行をするとセルの幅が自動調整されずに3行(列)となります。これが印刷できない原因となってしまいます。
  • マクロで自動調整を行った後に印刷するため、セル幅と行の高さを調整する必要があります。しかし、どの位置で改行をしても1文字分の余分な行ができてしまいます。縦書きのセルの自動調整方法についてご教示ください。
回答を見る
  • ベストアンサー

EXCELのセル内改行について

よくある質問としてExcelの見た目と印刷が違うというものがありますが、それを回避するために、セル内の強制改行を使うと思います。 内部統制のRCMで使っている表なのですが、縦書きの列のセルがあります。同じ行にある横書きのセルの内容が少ないため、セル幅を自動調整しようとすると、行の高さが異常に高くなってしまいます。 縦書きのセルはレイアウト上2行(列)に収める必要があるので、縦書きのセルで強制改行すると、思うように治まるのですが、行のセル幅を自動調整すると、勝手に3行(列)になってしまい、印刷できなくなってしまいます。 どの位置で改行してみても、勝手に1文字分が余分な1行(列)になってしまい、マクロで自動調整をした後に印刷をかけようとしているので、見ばえの悪い表になってしまいます。 (うまく表現できていないようでしたらお許し下さい) 縦書きのセルの自動調整をうまく行う方法は無いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • kenpon24
  • ベストアンサー率64% (66/102)
回答No.2

自動調節を行う方法ではないので申し訳ありませんが、 見た目どおりに印刷することが目的なら、 印刷したい範囲を選択(もしくは取得)して、 shift押しながら編集→図でコピー 新しいブックなどに貼り付け。 印刷範囲を元ブックと同じに設定 で印刷することで、見た目どおりに印刷できると思います。 マクロを使えるならこの辺の動作を自動でやってくれるものを以前作ったので貼っておきます。 とりあえず選択範囲のみを印刷するものです。 Sub 見た目通り印刷() Dim my_Page As PageSetup Dim tmpView As Integer Dim tmpGrid As Integer Dim tmpWb As String tmpView = ActiveWindow.View tmpGrid = ActiveWindow.DisplayGridlines tmpWb = ActiveWorkbook.Name 'Application.ScreenUpdating = False '改ページプレビューの場合は一旦解除、グリッドラインを無効にする ActiveWindow.View = xlNormalView ActiveWindow.DisplayGridlines = False '印刷設定を格納 Set my_Page = ActiveSheet.PageSetup '選択範囲 図のコピー <-範囲を変えたければSelectionの代わりを考える Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture '新しいブックの作成 Workbooks.Add '背景を白にする Cells.Interior.ColorIndex = 2 '元シートの印刷設定を書き込み With ActiveSheet.PageSetup .LeftHeader = my_Page.LeftHeader .CenterHeader = my_Page.CenterHeader .RightHeader = my_Page.RightHeader .LeftFooter = my_Page.LeftFooter .CenterFooter = my_Page.CenterFooter .RightFooter = my_Page.RightFooter .LeftMargin = my_Page.LeftMargin .RightMargin = my_Page.RightMargin .TopMargin = my_Page.TopMargin .BottomMargin = my_Page.BottomMargin .HeaderMargin = my_Page.HeaderMargin .FooterMargin = my_Page.FooterMargin .PrintHeadings = my_Page.PrintHeadings .PrintGridlines = my_Page.PrintGridlines .PrintComments = my_Page.PrintComments .PrintQuality = my_Page.PrintQuality .CenterHorizontally = my_Page.CenterHorizontally .CenterVertically = my_Page.CenterVertically .Orientation = my_Page.Orientation .Draft = my_Page.Draft .PaperSize = my_Page.PaperSize .FirstPageNumber = my_Page.FirstPageNumber .Order = my_Page.Order .BlackAndWhite = my_Page.BlackAndWhite .Zoom = my_Page.Zoom .PrintErrors = my_Page.PrintErrors End With '図の貼り付け ActiveSheet.Paste 'Application.ScreenUpdating = True '印刷プレビューのコール ActiveWindow.SelectedSheets.PrintPreview 'プレビューを閉じたらブックをクローズ 'Application.DisplayAlerts = False ActiveWorkbook.Close 'Application.DisplayAlerts = True '画面設定を元に戻す Workbooks(tmpWb).Activate ActiveWindow.View = tmpView ActiveWindow.DisplayGridlines = tmpGrid End Sub

hatsuzo
質問者

お礼

アドバイスありがとうございます。 こうした機能があることは知りませんでした。 今回のシートに適用できるかどうか考えてみます。

その他の回答 (2)

  • isizii
  • ベストアンサー率25% (3/12)
回答No.3

縦書き、横書きに関係なく強制改行したい文字列の頭へカーソルを移動して、「Alt」を押したまま「Enter」を押してください。 2行になると思います。

回答No.1

こんにちは フォントサイズを小さくするだけでは、だめなのでしょうか? バランスの問題だと思いますので、1文字分入らないくらいなら フォントサイズの調整で対応できそうな気がしますが? とりあえず、ご参考まで・・^^;

関連するQ&A

  • ワードで表を作ってセル内で改行をし、下のセルに行かせたい場合どうすれば

    ワードで表を作ってセル内で改行をし、下のセルに行かせたい場合どうすればいいのでしょうか? 例えば4列2行の表を作ったとします。 1行目の左から2列目のセルに文字を書き込みます。 表のオプションで「自動的にセルのサイズを変更する」のオプションを外して 1行目の左から2列目のセルに文字を書き込み、そのセル内の右端まで行くと自動的に改行されて 2行分の大きさになりますよね。 こうならず 2行目の左から2列目に行かせたい場合どうすればいいのでしょうか?

  • Excel(エクセル)での自動改行検索

    Excel(エクセル)で 自動で縦書きを横書きにしたいのですが可能でしょうか? 例えば添付画像のように A1~C8の表を同じシート内の薄緑の部分が自動で表示されるようにしたいです。 セルE2~H4にどの様な式を入れればよいか教えてください! A列に対するB列の種類が3行と決まっていればわかったのですが、 セルA4の愛知のようにランダムで2行の時があり、 それに対応する式がまったくわかりません(ノД`)・゜・。 (マクロの仕方もわかりません) 本当に困っています ぜひお力添えのほど、よろしくお願い致します!!

  • EXCEL:セル内での改行について

    エクセルで、セルの書式設定を「折り返して全体を表示する」にしていると セルの中で改行したとき自動的に行の幅が広がると思うのですが、 複数セルを結合している場合、これが利かなくなってしまいます。 つまり、結合セルの中に何行入力しても、もとの行幅サイズから 変わらないので、自分で行幅を広げて調節しなければいけなくて 非常に不便なのですが、解消する方法は無いでしょうか? ちなみに、通常は行番号の下の線をダブルクリックすると 入力されている行数にあわせて行幅を自動調整してくれると思うのですが これも利きません。 よろしくお願い致します。

  • エクセル行の幅自動調整の方法

    エクセルは、行幅や列幅を全選択した後、列の境目をクリックすると、行の場合は、一行の幅に自動調整されます。 しかし、セルの中で改行した場合でも、一行の幅に調整されてしまいます。 セル内の改行でも、改行文の行幅に自動調整する方法はありますでしょうか。 ご存知の方がおられましたら教えてください。 よろしくお願いいたします。

  • EXCELの「行の高さ」の自動調整について

     EXCEL2013を使っています。  EXCELでセルの配置を横位置:標準、縦位置:下詰め、「折り返して全体を表示する」と設定してあります。  添付図のような場合で行の高さを自動調整したとき、行の高さは、 第1行: 全セルで字数が各列の幅以下なので高さは1行分 第2行: B,C列で字数が列幅を超えているので高さは2行分 となっていますが、 第3行: C列では字数が列幅ギリギリですが改行は入っていません。  それなのに行の高さの自動調整を行うと高さは2行分となってしまいます。改行がないのにあたかも改行が入っているかのように行を余分にとってしまっているわけです。  このような場合1行だけになるように自動調整する方法はないものでしょうか、お伺いします。手操作で調整すればよいのですがデータ量が大変大きくて作業が大変です。  なお、これまでの経験では、ワークシートの上では1行でも、印刷すると2行になっていることがありましたが、今回の場合、印刷メニューで印刷画面を見ると改行は入っていませんし、行の高さは2行となっています。(実際の印刷は実行していません。)

  • Excel 2016 で一つのセル内で改行したい

    Excel で一つのセル内で改行する方法をお願いいたします 列と行を広くして一つのセル内に複数行記入したいのです 書式設定では 折り返して全体を表示する         縮小して全体を表示する        セルを結合するが有りますが        セル内での改行が有りません 前の文字をスペースで送ると改行らしき事は出来るのですが文字の並びがズレて来るのでよろしくお願いいたします

  • WORD・ EXCELで、表の中での文章の改行について教えて下さい。

    office2000のWORD・EXCELを使用しています。 会社の資料で、現在、2行20列の表の中に、文書を作成しています。 A5横書きです。 結合したひとつのセル内に、文章を入力してゆくと、自然に改行されますよね。 画面上では文章の最後まで、見えているのですが、印刷プレビューにすると、 右端の方が切れているときが多いのです。 いちいち印刷プレビューを確認しなくても、設定で対処出来る方法があったら 教えて下さい。 仕事の作業時間短縮をしたいので、お願いします。 また、WORDでは、同じような表に文章を入力した際には、1つの枠の中で 改行すると、表のセルが下に伸びてゆきます。 改行からは、別枠に入力したいのです。 例えば、ひとつの枠の中には○○文字以上入力したら、下の枠に勝手に改行 されるように設定することは可能でしょうか? 宜しくお願いします。

  • 改行セルの幅について

    ソートに関して質問です エクセルの表があります 項目がいくつかあって、長文のところは1セル内で3行くらいあります ソートをかけると長文のセルがちぢまってしまい(1行幅) いちいち長文のセルをところは、幅を広げなきゃいけません これを自動でできるようにできませんか?? 教えてください

  • エクセル 改行した時印刷が切れる

    こうやってセルの中で改行して シート全体を選択して行をオートフォーマット?(ダブルクリックして自動で行の高さを調整する作業) をしてから、印刷をすると aaa iii がちゃんと印刷されてる場合と、文字が切れて印刷される場合があるのですが すべて入力されている文字を印刷するにはどうすればいいでしょうか? 手作業で行の高さを広めに調整するのは 時間がかかります。 だからって1行しか入ってないセルは高くしたくありません。 ご回答よろしくお願いします。

  • エクセル、セル内で文字を改行するには?

    エクセルで書類を作っています。セルの書式設定が分からず困っています。少し長い文章を書くとセルを飛び越えてどんどん横に文字が伸びていき、セルの下幅を取っているにもかかわらず,改行してくれません。セルの中で文字が端っこまで行くと勝手に改行してくれる方法を教えていただけませんか? よろしくお願いします。

専門家に質問してみよう