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 + F11kđể 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ông cụ năng suất văn phòng tốt nhất
Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian. Bấm vào đây để có được tính năng bạn cần nhất...
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!