• ベストアンサー

100行のセルの高さを一括で調整するには?(Excel)

文字数の違うデータが100行もあった場合、 書式→行→自動調整で、 画面上は100行それぞれの行に合ったセルの高さになりますよね。 この自動調整後に、「プラス10pt」とすることは可能ですか? 印刷時に途切れていない状態で表示したいのですが、 自動調整を利用すると、画面上は収まっていても 印刷したら途切れていることがあります。 要は、セル内の文字数が変わる100行のデータを、 その行の文字数に合わせて一括で調整し、印刷したいのですが、 何か良い方法がございましたら、教えてください。

  • 0896
  • お礼率49% (271/545)

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

>何か良い方法がございましたら、教えてください。 これは手作業がNGなのであれば、マクロしか手はないと思います 以下のマクロをALT+F11でVBE画面を開き、左上のVBA Projectでシート名を右クリックし「挿入」→「標準モジュール」で表示される画面に貼り付けて下さい。 マクロの実行はワークシート画面に戻って適当なセル範囲を選択した後ALT+F8でマクロ一覧を開き、マクロ名を選択して「実行」ボタンです。(選択されている範囲に対してのみ実行します) Sub Macro1() Dim idx As Integer  Selection.EntireRow.AutoFit  For idx = Selection.Row To Selection.Row + Selection.Rows.Count - 1    Rows(idx).RowHeight = Rows(idx).RowHeight + 10  Next End Sub もし行の高さを変更する処理があくまで印刷用で、元のシートには手をつけたくないならマクロは以下になります(元のシートをコピーしてから処理してます) Sub Macro2() Dim idx As Integer Dim adr As String  adr = Selection.Address  ActiveSheet.Copy after:=ActiveSheet  Range(adr).EntireRow.AutoFit  For idx = Range(adr).Row To Range(adr).Row + Range(adr).Rows.Count - 1    Rows(idx).RowHeight = Rows(idx).RowHeight + 10  Next End Sub

0896
質問者

補足

マクロの実行で試してみましたら出来ました。 本当にありがとうございます。 10行~100行(その日によって行数は変動)のデータを 取り込む際にすでにマクロを利用しております。 選択範囲を指定して「マクロの実行」ではなく、 変動するその日の行数すべてを一発で 「取り込みと同時に行幅も調節」することは出来ますでしょうか? Editorに元々書いてあった「取り込みマクロ」の一番下に Sub Macro1() Dim idx As Integer  Selection.EntireRow.AutoFit  For idx = Selection.Row To Selection.Row + Selection.Rows.Count - 1    Rows(idx).RowHeight = Rows(idx).RowHeight + 10  Next End Sub を挿入させて頂いたのですが、 範囲を選択していないからなのか、 教えていただいた「行幅」だけ動作しませんでした。 行数もその日によって変わってしまうので、選択範囲に悩みました。

その他の回答 (3)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.4

#01です >10行~100行(その日によって行数は変動) であれば「Selection」の部分を「取り込んだデータ範囲」に書き換えれば良いのですが、「どうすれば良いか」を再回答する材料は補足に何も書かれていませんね。それを想像して回答しなければなりませんか? 例えばA列で最終データを判断すればよいなら  Range(Range("A1"), Range("A65536").End(xlUp)).Select  Selection.EntireRow.AutoFit でもよいでしょう。後はご自身で実際のシートにあわせて色々試してみてください。(再々回答は遠慮します)

0896
質問者

お礼

なるほど、ありがとうございました。 色々と試してみます☆

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.3

たぶんセルのフォントが問題なのでしょう。 プリンターに用意されているトゥルーフォントとの相性で 一部のフォントは表示時と印刷時で文字幅が変わります。 そのために表示で行の高さで丁度いいケースでも、 印刷時には列幅が変わって結果的に、行方向で改行を起こして 印刷文字切れになるのです。 単行の場合は、文字幅一杯で横方向に文字切れます。 試しにフォントを変えて印刷してみてください。 種類によっては+10Pしないで済むフォントもあると思います。

0896
質問者

お礼

>プリンターに用意されているトゥルーフォントとの相性 というのを知ることができて、勉強になりました。 ありがとうございます♪

回答No.2

100行でも60000行でも全ての行の高さをすぐ簡単に高さを変えることは簡単です又列の幅も簡単にすべての行かえることも出来ます。 しかし文の内容から見ると列幅のことですね。 印刷範囲も余白の修正、改ページビューで調整すると1ページにA3をB5に印刷することも出来ます もう一度質問修正ください 私には質問が理解できませんでした。すみません

関連するQ&A

  • 2003 選択したセルに準じて行の高さを自動調整

    エクセル2003を使用しています。 文字たくさん入っているセルと、文字が少ないセルが横に並んでいます。 後者の文字数が少ない方のセルに合わせて行の高さを自動調整したいのですが、できないのでしょうか? 書式>行>自動調整とやっても何もおきません。 列(文字数の異なるセルが縦に並んでいる)の場合、 書式>列>選択範囲に合わせる と操作すると、他の文字がたくさん入っているセルを無視して、任意のセルの文字数に合わせて幅を変えることができます。 同じことを「行の高さの調整」でも行いたいのですが…

  • excelで行の高さを自動調整したのですが・・・。

    こんにちは。mininiと申します。 早速ですが、上記質問のタイトルの件で困っています。 「折り返して全体を表示する」にしてから 自動調整したい行を選択して、書式→行→自動調整をしてみたのですが はみ出たままなのです(全体が画面に表示せれないのです)。 1列に2000行のデータを扱っており、1つ1つのセルの文字数はまちまちなので (妥協して)手動で調整するのもな~と、だらけておりました。。。 ちなみにバージョンはexcel97です。 皆様のお知恵をお借りしたいです。 よろしくお願いします。

  • Excel2000 行の高さ一括調整(表示セルのみ)

    Excelで行の高さを一括調整する時、非表示のセルも高さが変わり、なおかつ表示されてしまいます。 非表示セルはそのまま表示させず、高さも変えない方法があれば教えて下さい。

  • 【エクセル】 結合セルで行の高さを自動調整する方法

    通常、セルに多数の文字を書き込んでも列幅を変更 したくないときには、セルの書式設定で 「折り返して全体を表示する」 としておけば、列幅を広くすることなく、行の高さ が自動調整されます。 これを、結合セルでやろうとするとどうしても 自動調整してくれません。 結合セルでも、行の自動調整機能が働く方法を 教えてください。 よろしくお願いします。

  • [Excel]参照先セルの自動調整された行サイズを参照元でも

    Excelで参照先のセルに改行文字が入っていた場合。 参照元の行サイズを自動的に調整したいのですが、自動的になってくれません。 いちおう「セルの書式設定」→「配置」 で「折り返して全体を表示する」に チェックを付け直せば調整されるのですが、毎回やる必要があるので なんとか自動的にやってくれる方法はないでしょうか?

  • エクセルでセル内の文字が全部表示されない

    Excel2002で、一つのセルで長文が入っている箇所があります。(MSゴシック・12pt・120~200文字前後)A4縦いっぱいに印刷できるよう、セル幅を130に固定し、行の高さを自動調整にすると、 (1)3行位に自動調整され、文の最後まで(4行目にあたる箇所)は表示されないセル (2)3行位に収まり自動調整されても印刷プレビューでは最後まで表示されていないセル (3)全部表示されて、しかも上下に一行分ずつ余裕があるセル(空白があるわけではないです) があります。 (3)は余白が多すぎますが、一応セルを(1)や(2)のセルに書式貼り付けてみても改善されません。 箇条書きの文章なので、キレイにレイアウトして印刷したいのですが、何か改善策はありませんでしょうか。よろしくお願いします。

  • EXCELで統合したセルの高さ自動調整ができない

    EXCELで質問です。 統合したセルに対して、セルの高さの自動調整がききません。 なぜでしょう。 再現方法 1)セルに大幅にはみだすくらい文字を入力します。 2)下のセルと統合します。 3)折り返して全体を表示するをチェックします。 4)書式>行>自動調整をしても、2行分しか表示されず、3行目以降は手動でセルを広げないと見えません。 3行分セルを統合すると3行まで、4行だと4行分までしか表示されません。 仕様でしょうか。

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

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

  • エクセルで結合したセルの高さの自動調整方法?

    エクセル2000、Win2000です。 いくつかのセルを横に結合し、セル内で「折り返して全体を表示する」にしています。 セルを結合してない場合は、入力文字数が多くなっても行の高さを自動調整にすれば、ちゃんと折り返して全部表示されますが、結合したセルの場合は、自動調整がきかず、 いちいち手動で調整しなくてはいけません。 1.結合セルでも自動調整する方法はないですか? 2.ない場合、VBAで行の高さを変えてみようと思いますが、セル内で折り返しているかどうか、および何行に折り返されているかはどう判別すればいいでしょうか?

  • 一つのセルに複数行を入力すると最後の1行を印刷しないことがある

    Excel97ですが、Alt+Enterで改行しながら、一つのセルに複数行を入力します。そのセルの列の行幅は書式で自動にしてあるので、文字の行を増やしていっても、ちゃんとセルの中に収まっています。ところが、印刷プレビューや印刷すると、所々のセルは、約1行分が見えません。Alt+Enterで1行分余計に空白を設けてやると、空白のない、ぴったりの行だけ印刷できます。 プレビューでも起こるのでプリンタのせいではありません。どこのセルがどうやるとそういう現象になるのか分からないので、全部のセルにAlt+Enterで1行分余計に空白を入れるのも面倒です。なぜ、こんな現象が起こるのか、また対応はあるのでしょうか?

専門家に質問してみよう