• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCELのセル内改行について)

Excelのセル内改行について

このQ&Aのポイント
  • Excelのセル内改行についての質問です。セル内の強制改行を使うことで見た目と印刷の差異を回避する方法がありますが、縦書きのセルの行の高さが調整されない問題があります。
  • 縦書きのセルには2行(列)に収める必要があるため、強制改行をするとセルの幅が自動調整されずに3行(列)となります。これが印刷できない原因となってしまいます。
  • マクロで自動調整を行った後に印刷するため、セル幅と行の高さを調整する必要があります。しかし、どの位置で改行をしても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

このQ&Aのポイント
  • Lenovo IdeaPad L340 81LG00T7JPのメモリ増設方法や増設可能なスロット数についてお知らせします。
  • また、おすすめのメモリーについてもご紹介します。
  • Lenovo IdeaPadメモリ増設についての疑問を解消しましょう。
回答を見る

専門家に質問してみよう