• ベストアンサー

エクセルで行の高さ及び列幅の余裕分を自動的に調整する方法

 エクセルで表を作成します。その際、標準の状態(行の高さ12.75、列幅8.43)では、文字を入力すると、セルぎりぎりとなってしまい、やや見にくいこととなるため、手動である程度広げ、余裕を持たせています。  しかし、この方法では追加でセルの中にデータを入力した場合には再度、また手動で広げなおす必要があります。また、各行又は列の余裕幅を目算で調整することは煩雑です。  そこで、当初の設定か何かで、データとセル範囲の上下左右に自動的に余裕幅を設けるような設定はできないでしょうか。特に、追加でデータが入力された場合には、その余裕幅を持たせるように行又は列が広がるような仕組みであると助かります。  宜しく御願いします。

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

  • ベストアンサー
  • ao777
  • ベストアンサー率34% (43/123)
回答No.6

お久しぶりです。 下記のコードを貼り付けて下さい。 仮に高さ及び幅をぴったりから1.2倍するコードです。 ちなみにcolは幅で、 rowは高さなので、1.2の所をお好きな数字におきかえて 下さい。 Private Sub Worksheet_Change(ByVal Target As Range) Dim col As Long Dim row As Long row = Target.row col = Target.Column Cells.Select Cells.EntireColumn.AutoFit Cells.EntireRow.AutoFit Columns(col).ColumnWidth = Columns(col).ColumnWidth * 1.2 Rows(row).RowHeight = Rows(row).RowHeight * 1.2 End Sub

yukiyakiniku
質問者

お礼

ao777様 お礼が遅くなりまして大変申し訳ありません。 まさにこのようなものを求めておりました。 ありがとうございます。

その他の回答 (5)

  • ao777
  • ベストアンサー率34% (43/123)
回答No.5

VBAを使うと、できます。下記のコードを記述してみて下さい。 Private Sub Worksheet_Change(ByVal Target As Range) Cells.Select Cells.EntireColumn.AutoFit End Sub

yukiyakiniku
質問者

お礼

御回答いただきましてありがとうございます。 VBAはまったく未知の分野でしたが、確かに自動調整がされるようになりびっくりしています。 ただ、私の質問の仕方が悪かったため、もし、セルの余裕幅を調整するような機能をご存知でしたら教えていただけますでしょうか。

noname#204879
noname#204879
回答No.4

》 標準の状態(行の高さ12.75、列幅8.43) 同状態におけるフォントの種類(MSP明朝、Courier New、Century等)とサイズは?

yukiyakiniku
質問者

補足

フォントはMSP明朝と10.5となっています。 ただ、他の方にも申し上げたように、私の説明不足の部分があります。 私がお聞きしたいのは、セルの「余裕幅」を調整するような機能です。それもできれば自動調整ができると助かります。 ツールのオプションも見たのですが、該当するものはなさそうでした。もしご存知でしたら御教示いただけませんでしょうか。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

すべてのデータを入力後、 シート全体を選択(A1セルの左上のマスをクリック)し、 メニューの「書式」、「行」、「自動調整」 メニューの「書式」、「列」、「選択範囲にあわせる」 で、調整されます。 ただし、そのあとで再度入力しても「幅」は自動ではありませんので、 メニューの「書式」、「列」、「選択範囲にあわせる」 は、入力後必要ですね。

yukiyakiniku
質問者

お礼

ありがとうございます。 ただ、他の方にも申し上げたのですが、少し説明不足の点があったことをお詫び申し上げます。 また、「書式」の自動調整や、選択範囲にあわせるといった機能は存じておりませんでしたので、非常に助かります。

  • hdkzok
  • ベストアンサー率21% (20/91)
回答No.2

1行目の上で、A列目の左をクリックすると全行列が選択されます。(A1のセル以外はリバースします。) 列選択バー(一行目の上)の任意の列と隣の列の間にカーソルを持っていき(マーカーが縦棒に左右の矢印になります。)ダブルクリックすると最適化された列幅になります。 でも、一つの列のどのセルにもデータがない列は列幅が変化しません。 私の場合は予め全列を画面上5mm位にしてから上記の操作をします。 行幅も同様、任意の行と隣の行の間にカーソルを持っていき(マーカーが横棒に上下の矢印なります。)ダブルクリックします。 GOOD LUCK.

yukiyakiniku
質問者

お礼

ありがとうございます。 ただ、No.1の方にも回答させていただいたのですが、少々、私の説明不足の点がありましたことをお詫びいたします。もしご存知であれば、追加で教えていただけませんでしょうか。

  • qp3qp3
  • ベストアンサー率55% (43/78)
回答No.1

完全自動ではありませんが・・・ 行又は列番号が示してある部分で、セルの境目をダブルクリックすると、その行又は列でもっとも長い入力項目を表示できるセルの大きさに自動調整されますよ。 例えば、D列の幅を調整した場合には、最上段[ D ]と[ E ]の間にカーソルを持っていきます。 カーソルが←l→のような形に変わったら、その場でダブルクリックします。 もうこの方法はご存じで、別のもっと簡単な方法をお探しでしたら、なんの参考にもなりません。ごめんなさい。

yukiyakiniku
質問者

補足

qp3qp3様、ありがとうございます。 また、御返事が遅れて申し訳ございません。 ただ、私の意図とは少し違った点について御回答いただいたようですので補足させていただきます。 私の意味していることは、セルの内容に対するセル幅、高さの「余裕分」の調整です。 おっしゃっていただいたように処理しますと、確かに一定幅、高さの形でセルの大きさが調整されます。しかし、特に高さの観点からは、文字のサイズぎりぎりに調整がされてしまい、ここに罫線を引くとキツキツでみにくくなってしまいます。 そこで、その「余裕幅」を調整する方法がないものかを思い、お尋ねしたくぞんじます。 説明不足で申し訳ありませんでした。

関連するQ&A