Tôi có một ô có nội dung văn bản được bao bọc trong Excel và tôi muốn định dạng ô để chiều cao của nó sẽ điều chỉnh để phù hợp với nội dung có thể trải dài trên một số dòng. Làm thế nào tôi có thể đạt được hành vi này?
Tôi có một ô có nội dung văn bản được bao bọc trong Excel và tôi muốn định dạng ô để chiều cao của nó sẽ điều chỉnh để phù hợp với nội dung có thể trải dài trên một số dòng. Làm thế nào tôi có thể đạt được hành vi này?
Câu trả lời:
Từ http://support.microsoft.com/kb/149663
Để điều chỉnh chiều cao của hàng cho vừa với tất cả văn bản trong một ô, hãy làm theo các bước sau:
Chọn hàng.
Trong Microsoft Office Excel 2003 và các phiên bản Excel trước đó, hãy trỏ đến Hàng trên menu Định dạng, sau đó bấm Tự động.
Trong Microsoft Office Excel 2007, bấm vào tab Trang chủ, bấm Định dạng trong nhóm Ô, rồi bấm Tự động chiều cao hàng.
Cũng hoạt động khi tất cả các hàng được chọn
Thử
Chọn cột -> cột chuột phải -> Định dạng ô -> tab căn chỉnh -> Bao văn bản
Wrap Text
và bật lại, Excel sẽ thay đổi kích thước chiều cao hàng để phù hợp với hàng cao nhất. Không phù hợp nếu chiều cao của các hàng thay đổi linh hoạt nhưng nếu bạn đang xử lý văn bản tĩnh thì sẽ ổn.
Lưu ý rằng autofit không hoạt động trên các ô được hợp nhất. Bạn phải làm nó bằng tay.
Xem câu trả lời này của Microsoft:
Nếu nó không tự động làm điều đó, thì đặt con trỏ lên dòng nhỏ giữa các số hàng (ví dụ: giữa 1 và 2) và nhấp đúp, điều này sẽ thay đổi kích thước hàng (ngay trên dòng nhỏ, trong ví dụ: 1) để mọi thứ có thể nhìn thấy (từ một khía cạnh thẳng đứng).
Cách duy nhất tôi có thể làm cho nó hoạt động như mong đợi là làm nổi bật toàn bộ trang tính bằng CTRL-A, bỏ chọn nút "Gói văn bản" trên thanh công cụ, sau đó chọn lại. Không có cài đặt nào khác thay đổi, nhưng mỗi hàng hiện là chiều cao "phù hợp" cho nội dung của nó.
Tôi đã tạo mã VB sau để thay đổi kích thước hàng tiêu đề khi một ô trong phạm vi (B2: B1500) vì các giá trị ngày trên 28/12/2014 sẽ khiến tiêu đề hiển thị cảnh báo rằng những ngày này, trong bảng thời gian, sẽ đi vào Tuần 1 năm 2015:
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