Trong Excel, bạn có thể điều chỉnh độ rộng cột để vừa với nội dung ô một cách nhanh chóng bằng cách sử dụng tính năng Auto Fit Column Width.
Đôi khi, bạn muốn chiều rộng cột tự động cập nhật dựa trên văn bản dài nhất trong cột đó, nghĩa là khi nhập một chuỗi văn bản dài vào ô, chiều rộng cột sẽ được tự động thay đổi kích thước để phù hợp với chiều dài của nội dung. Điều này có thể giải quyết đơn giản trong Excel
Thay vì phải điều chỉnh theo cách thủ công phổ biến, giờ đây bạn có thể sử dụng mã VBA để làm cho chiều rộng cột được cập nhật tự động với chiều dài nội dung ô. Cách thực hiện như sau:
Bước 1: Nhấn tổ hợp phím Alt + F11 hoặc chọn mục Visual Basic trong thẻ Developer để mở cửa sổ Microsoft Visual Basic for Applications.
Bước 2: Kích đúng vào ThisWorkbook trong ngăn Project bên trái để mở một modul trống, rồi sao chép và dán mã VBA bên dưới vào modul trống ở khung bên phải.
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'Update 20141127
Dim xCol, xoutCol
xCol = Target.Column
If xCol > 52 Then
xoutCol = Chr(Int((xCol - 1) / 52) + 64) & _
Chr(Int((xCol - 27) / 26) + 64) & _
Chr(Int((xCol - 27) Mod 26) + 65)
ElseIf xCol > 26 Then
xoutCol = Chr(Int((xCol - 1) / 26) + 64) & _
Chr(Int((xCol - 1) Mod 26) + 65)
Else
xoutCol = Chr(xCol + 64)
End If
Columns(xoutCol & ":" & xoutCol).AutoFit
End Sub
Bước 3: Lưu và đóng cửa sổ mã, bây giờ khi bạn nhập văn bản dài vào một ô, chiều rộng cột sẽ tự động điều chỉnh để phù hợp với nội dung.
Để có thể biết thêm nhiều hàm nâng cao trong Excel cũng như sử dụng tốt hơn các công cụ của Excel, các bạn hãy tham gia ngay khóa học excel cơ bản đến nâng cao của Gitiho.com. Đây là khóa học tin học văn phòng chi tiết và đầy đủ nhất, giúp bạn phát triển kiến thức một cách đầy đủ, có hệ thống, cùng xem nhé:
Nếu bạn có nhiều cột với một phần nội dung ô bị ẩn như hình ảnh hiển thị dưới đây, bạn muốn thay đổi kích thước chiều rộng cột cùng một lúc để phù hợp với nội dung của chúng. Các phím tắt sau đây có thể giúp bạn.
Bước 1: Chọn phạm vi dữ liệu mà bạn muốn thay đổi kích thước chiều rộng cột.
Bước 2: Bấm giữ phím Alt và nhấn H + O + I , bây giờ chiều rộng cột của bạn đã được tự động điều chỉnh nội dung của chúng ngay lập tức.
Lưu ý: Nếu bạn đang sử dụng Excel 2003 và phiên bản trước đó, bạn cần phải sử dụng các phím tắt: ALT + O + C + A.
Trong Excel, chúng ta có thể nhanh chóng điều chỉnh chiều cao hàng để vừa với nội dung ô bằng cách sử dụng tính năng AutoFit Row Height, nhưng chức năng này sẽ hoàn toàn bỏ qua các ô đã hợp nhất.
Có nghĩa là bạn không thể áp dụng tính năng AutoFit Row Height để thay đổi kích thước chiều cao hàng của các ô đã hợp nhất, bạn cần điều chỉnh thủ công chiều cao hàng cho từng ô đã hợp nhất. Trong bài viết này, Gitiho sẽ giới thiệu với các bạn một số phương pháp nhanh chóng để giải quyết vấn đề này.
Giả sử bạn có một trang tính với một số ô đã hợp nhất như hình bên dưới và giờ bạn cần thay đổi kích thước chiều cao hàng để hiển thị toàn bộ nội dung, mã VBA dưới đây có thể giúp bạn tự động điều chỉnh chiều cao hàng của nhiều ô đã hợp nhất với cách thực hiện như sau:
Bước 1: Nhấn tổ hợp phím Alt + F11 hoặc chọn mục Visual Basic trong thẻ Developer để mở cửa sổ Microsoft Visual Basic for Applications (VBA).
Bước 2: Trong cửa sổ Microsoft Visual Basic for applications đã mở, truy cập vào menu Insert > Module, rồi sao chép và dán mã VBA bên dưới vào modul trống ở khung bên phải.
Option Explicit
Public Sub AutoFitAll()
Call AutoFitMergedCells(Range("a1:b2"))
Call AutoFitMergedCells(Range("c4:d6"))
Call AutoFitMergedCells(Range("e1:e3"))
End Sub
Public Sub AutoFitMergedCells(oRange As Range)
Dim tHeight As Integer
Dim iPtr As Integer
Dim oldWidth As Single
Dim oldZZWidth As Single
Dim newWidth As Single
Dim newHeight As Single
With Sheets("Sheet4")
oldWidth = 0
For iPtr = 1 To oRange.Columns.Count
oldWidth = oldWidth + .Cells(1, oRange.Column + iPtr - 1).ColumnWidth
Next iPtr
oldWidth = .Cells(1, oRange.Column).ColumnWidth + .Cells(1, oRange.Column + 1).ColumnWidth
oRange.MergeCells = False
newWidth = Len(.Cells(oRange.Row, oRange.Column).Value)
oldZZWidth = .Range("ZZ1").ColumnWidth
.Range("ZZ1") = Left(.Cells(oRange.Row, oRange.Column).Value, newWidth)
.Range("ZZ1").WrapText = True
.Columns("ZZ").ColumnWidth = oldWidth
.Rows("1").EntireRow.AutoFit
newHeight = .Rows("1").RowHeight / oRange.Rows.Count
.Rows(CStr(oRange.Row) & ":" & CStr(oRange.Row + oRange.Rows.Count - 1)).RowHeight = newHeight
oRange.MergeCells = True
oRange.WrapText = True
.Range("ZZ1").ClearContents
.Range("ZZ1").ColumnWidth = oldZZWidth
End With
End Sub
Lưu ý:
- Trong đoạn mã trên, bạn có thể thêm các phạm vi mới chỉ cần sao chép tập lệnh Call AutoFitMergedCells(Range("a1:b2")) nhiều lần tùy thích và thay đổi các phạm vi ô đã hợp nhất theo nhu cầu của bạn.
- Bạn nên thay đổi tên trang tính hiện tại Sheet4 thành tên trang tính đã sử dụng của mình.
Bước 3: Sau đó nhấn phím F5 để chạy mã này và bây giờ, bạn có thể thấy tất cả các ô được hợp nhất đã được tự động điều chỉnh nội dung ô.
Trên đây Gitiho vừa Hướng dẫn 2 cách tự động điều chỉnh chiều rộng cột và chiều cao hàng trong Excel. Tùy vào nhu cầu sử dụng mà bạn có thể lựa chọn cho mình cách phù hợp nhất.
Khóa học phù hợp với bất kỳ ai đang muốn tìm hiểu lại Excel từ con số 0. Giáo án được Gitiho cùng giảng viên thiết kế phù hợp với công việc thực tế tại doanh nghiệp, bài tập thực hành xuyên suốt khóa kèm đáp án và hướng dẫn giải chi tiết. Tham khảo ngay bên dưới!