Bến Hà Trương
Bến Hà Trương
Thảo luận 0 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 316 lượt xem

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

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

Cùng tham gia cộng đồng hỏi đáp về chủ đề Tin học văn phòng

Thảo luận 0 câu trả lời
Lượt xem 316 lượt xem
Vỗ tay vỗ tay

0 Bình luận

@ 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