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

Video phím tắt chỉnh độ rộng cột trong excel

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

Tự động điều chỉnh chiều rộng cột với mã VBA

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

Hướng dẫn 2 cách tự động điều chỉnh chiều rộng cột trong Excel

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.

Tự động điều chỉnh chiều rộng cột với các phím tắt

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.

Tự động điều chỉnh chiều cao hàng các ô đã hợp nhất trong Excel

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.

Tự động điều chỉnh chiều cao hàng các ô đã hợp nhất với mã VBA

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.

Để 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 EXG01 – Học Microsoft Excel từ cơ bản tới nâng cao dành cho người đi làm 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 biệt khóa học này không giới hạn thời gian học tập, nên bạn có thể học thoải mái và xem lại bất cứ khi nào.