Làm cách nào để tự động hợp nhất các ô trống phía trên / bên trái trong Excel?
Trong bài viết này, tôi sẽ nói về việc hợp nhất các ô trống ở trên hoặc sang trái một cách tự động như hình minh họa bên dưới. Trên thực tế, không có tiện ích tích hợp nào có thể xử lý tác vụ này, nhưng các mã macro thì có thể.
Hợp nhất các ô trống ở trên | ||
![]() |
![]() |
![]() |
Hợp nhất các ô trống còn lại | ||
![]() |
![]() |
![]() |
Hợp nhất các ô trống ở trên dựa trên một cột
Hợp nhất các ô trống ở trên (chỉ hoạt động cho một cột)
Hợp nhất các ô trống ở trên dựa trên một cột
Giả sử có một dải dữ liệu trong ba cột và bây giờ bạn muốn hợp nhất dữ liệu ở trên dựa trên cột C.
1. nhấn Alt + F11 kđể kích hoạt Microsoft Visual Basic cho các ứng dụng cửa sổ và nhấp chuột Chèn > Mô-đun. Xem ảnh chụp màn hình:
2. Sau đó, dán mã bên dưới vào tập lệnh trống. Xem ảnh chụp màn hình:
VBA: Hợp nhất trống ở trên dựa trên cột tiếp theo
Sub MergeCells()
'UpdatebyExtendoffice2017025
Dim xRg As Range
Dim xCell As Range
Dim xAddress As String
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select a range:", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
For Each xCell In xRg
If xCell.Value = "" Then
Range(xCell, xCell.Offset(-1, 0)).Merge
End If
Next
End Sub
3. nhấn F5 để chạy mã, và sau đó một hộp thoại bật ra để nhắc bạn chọn một phạm vi để làm việc. Xem ảnh chụp màn hình:
4. nhấp chuột OK, thì các ô trống đã được hợp nhất ở trên. Xem ảnh chụp màn hình:
Hợp nhất các ô trống ở trên (chỉ hoạt động cho một cột)
Đây là mã macro có thể hợp nhất các ô trống ở trên trong cột được chỉ định.
1. nhấn Alt + F11 các phím để kích hoạt Microsoft Visual Basic cho các ứng dụng cửa sổ và nhấp chuột Chèn > Mô-đun. Xem ảnh chụp màn hình:
2. Dán mã bên dưới vào tập lệnh. Xem ảnh chụp màn hình:
VBA: Hợp nhất các ô trống ở trên
Sub mergeblankswithabove()
'UpdatebyExtendoffice20171025
Dim I As Long
Dim xRow As Long
Dim xRg As Range
Dim xCell As Range
Dim xAddress As String
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select a range (single column):", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
If xRg.Columns.Count > 1 Then
MsgBox "Only work for single column", , "KuTools For Excel"
Exit Sub
End If
xRow = xRg.Rows.Count
Set xRg = xRg(xRow)
For I = xRow To 1 Step -1
Set xCell = xRg.Offset(I - xRow, 0)
Debug.Print xCell.Address
If xCell.Value = "" Then Range(xCell, xCell.Offset(-1, 0)).Merge
Next
End Sub
3. nhấn F5 để chạy mã và một hộp thoại bật ra để bạn chọn phạm vi cột. Xem ảnh chụp màn hình:
4. Nhấp vào OK. Và các ô trống trong vùng chọn đã được hợp nhất ở trên.
![]() |
![]() |
![]() |
Hợp nhất các ô trống còn lại
Nếu bạn muốn hợp nhất các ô trống còn lại, đoạn mã sau có thể giúp bạn.
1. nhấn Alt + F11 các phím để kích hoạt Microsoft Visual Basic cho cửa sổ Ứng dụng và nhấp vào Chèn > Mô-đun. Xem ảnh chụp màn hình:
2. Sau đó, dán mã bên dưới vào tập lệnh trống. Xem ảnh chụp màn hình:
VBA: Hợp nhất các ô trống còn lại
Sub mergeblankswithleft()
'UpdatebyExtendoffice20171025
Dim xRg As Range
Dim xCell As Range
Dim xAddress As String
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Select a range:", "KuTools For Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
For Each xCell In xRg
If xCell.Value = "" Then Range(xCell, xCell.Offset(0, -1)).Merge
Next
End Sub
3. nhấn F5 để chạy mã và một hộp thoại bật ra để bạn chọn một phạm vi. Xem ảnh chụp màn hình:
4. nhấp chuột OK. Các ô trống đã được hợp nhất bên trái.
Hợp nhất các ô trống còn lại | ||
![]() |
![]() |
![]() |
Hợp nhất các ô giống nhau hoặc hủy hợp nhất ô
|
Các công cụ năng suất văn phòng tốt nhất
Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn
- Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
- Thanh siêu công thức (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
- Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
- Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
- Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
- Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
- Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
- Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
- Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại tiền trong 60 ngày.

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều
- Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
- Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
- Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!



