Cách tự động hợp nhất các ô trống trong Excel

Bến Hà Trương
Bến Hà Trương
Oct 14 2020

Bạn có muốn tự động hợp nhất các ô trống trong bảng tính Excel hay không?

Trong bài viết này, chúng ta sẽ tìm hiểu cách tự động hợp nhất các ô trống ở trên hoặc bên trái một cách tự động như hình minh họa bên dưới.  Mặc dù không có tiện ích tích hợp nào có thể xử lý tác vụ này, nhưng bạn có thể sử dụng các mã macro như hướng dẫn bên dưới.

Hợp nhất các ô trống ở trên

Hợp nhất các ô trống ở trên	-->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 còn lại	 	 --> Hợp nhất các ô trống còn lại

Cách tự động hợp nhất các ô trống trong 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. 

Cách hợp nhất các ô trống trong một cột

1. Nhấn Alt + F11  để bật cửa sổ Microsoft Visual Basic for Applications và nhấp vào Insert > Module. Xem ảnh chụp màn hình:

 hợp nhất tài liệu trống phía trên bên trái

2. Sau đó, dán mã bên dưới vào tập lệnh trống. 

VBA: Hợp nhất trống ở trên dựa trên cột tiếp theo

1
2
3
4
5
6
7
8
9
10
11
12
13
14

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:""Tools 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 phím F5 để chạy mã, 

4. Nhấn OK , sau đó các ô trống đã được hợp nhất ở trên. Xem ảnh chụp màn hình:


Cách tự động hợp nhất các ô trống ở trên

Đâ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  để bật cửa sổ Microsoft Visual Basic for Applications và nhấp vào Insert > Module.

2. Dán mã dưới đây vào tập lệnh. 

VBA: Hợp nhất các ô trống ở trên

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

Sub mergeblankswithabove()
'UpdatebyExtendoffice20171025
    Dim 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", , "Tools For Excel"
        Exit Sub
    End If
    xRow = xRg.Rows.Count
    Set xRg = xRg(xRow)
    For I = xRow To 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 phím F5 để chạy mã và  chọn một dải cột trong hộp thoại bật ra. 

4. Nhấp vào OK. Và các ô trống trong vùng chọn đã được hợp nhất ở trên.

-->

Cách tự động hợp nhất các ô trống bên trái

Nếu bạn muốn hợp nhất các ô trống bên trái, đoạn mã sau có thể giúp bạn.

1. Nhấn Alt + F11  để bật cửa sổ Microsoft Visual Basic for Applications và nhấp vào Insert > Module.

2. Sau đóm dán mã dưới đây vào tập lệnh. 

VBA: Hợp nhất các ô trống bên trái

1
2
3
4
5
6
7
8
9
10
11
12

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:""Tools 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 phím F5 để chạy mã, sau đó bạn hãy chọn phạm vi cần hợp nhất.

4. Nhấp vào OK . Các ô trống đã được hợp nhất bên trái.

-->

Hy vọng với bài viết này, bạn đã biết cách tự động hợp nhất các ô trong excel. Bên cạnh đó, để không bỏ lỡ những mẹo và thủ thuật tin học văn phòng hữu ích khác, hãy tham gia Gitiho ngay hôm nay.

Hoặc tham khảo ngay khóa học: Nhập môn lập trình VBA trong Excel

0/5 - (0 bình chọn)

0/5 - (0 bình chọn)

Bài viết liên quan

Cách ứng dụng hàm INT và MOD cho lễ tân và các công việc khác

Cách ứng dụng hàm INT và MOD cho lễ tân và các công việc khác

Hướng dẫn cách tách địa chỉ ra khỏi chuỗi

Hướng dẫn cách tách địa chỉ ra khỏi chuỗi

CÁCH TÍNH ĐIỂM TRUNG BÌNH VÀ XẾP LOẠI TRONG EXCEL (KÈM BÀI TẬP)

CÁCH TÍNH ĐIỂM TRUNG BÌNH VÀ XẾP LOẠI TRONG EXCEL (KÈM BÀI TẬP)

Hướng dẫn kiểm tra giá trị trùng lặp cực đơn giản trên Excel 2010, 2013, 2016, 2019

Hướng dẫn kiểm tra giá trị trùng lặp cực đơn giản trên Excel 2010, 2013, 2016, 2019

Cách cộng, trừ ngày tháng năm trong Excel để tính số ngày siêu nhanh cho kế toán

Cách cộng, trừ ngày tháng năm trong Excel để tính số ngày siêu nhanh cho kế toán

Hướng dẫn 4 cách bôi đen trong Excel đơn giản và nhanh chóng

Hướng dẫn 4 cách bôi đen trong Excel đơn giản và nhanh chóng

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội