エクセルのセルが、折り返したテキストの内容に合わせて自動的に高さを調整するようにするにはどうしたらいいですか?
エクセルに折り返したテキストの内容を持つセルがありますが、数行にまたがる内容に合わせて高さが調整されるようにセルをフォーマットしたいです。この動作を実現するにはどうすればよいでしょうか?
エクセルに折り返したテキストの内容を持つセルがありますが、数行にまたがる内容に合わせて高さが調整されるようにセルをフォーマットしたいです。この動作を実現するにはどうすればよいでしょうか?
セル内のすべてのテキストに合わせて行の高さを調整するには、以下の手順に従ってください:
行を選択します。
Microsoft Office Excel 2007では、[ホーム]タブをクリックし、[セル]グループの[書式]をクリックし、[自動フィット行の高さ]をクリックします。
また、すべての行が選択されている場合にも動作します。
自動フィットはマージされたセルでは機能しないことに注意してください。手動で行う必要があります。
このMicrosoftの回答を参照してください: Excelのマージされたセルを含む行または列には自動フィット機能を使用することはできません
それが自動的に行われない場合は、行番号の間の小さな線の上にカーソルを置き(例:1と2の間)、ダブルクリックすると、行のサイズが変更されます(小さな線の真上、例:1)ので、すべてが(垂直方向から)見えるようになります。
私が期待通りに動作させる唯一の方法は、CTRL-Aでシート全体をハイライトし、ツールバーの「テキストを折り返す」ボタンをクリック解除してから、再度選択し直すことです。他の設定に変更はありませんが、各行は内容に対して「適切な」高さになりました。
VBAでの解決策は、「
Call Application.ActiveCell.AutoFit
私は、範囲内のセル(B2:B1500)12/28/2014年以上の日付の値は、タイムシートで、これらの日付は、2015年のWeek1に入るだろうという警告をヘッダーに表示する原因となるため、ヘッダーの行のサイズを変更するには、次のVBコードを作成しました:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
' The variable KeyCells contains the cells that will
' cause an Action when they are changed.
Set KeyCells = Range("B2:B1500")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
' Change the height of the header row when one of the defined cdlls is changed
Rows("1:1").EntireRow.AutoFit
End If
End Sub