Note: The other languages of the website are Google-translated. Back to English

Làm cách nào để nhanh chóng hợp nhất các hàng liền kề với cùng một dữ liệu trong Excel?

Giả sử bạn có một trang tính có cùng dữ liệu trong các hàng liền kề, và bây giờ bạn muốn hợp nhất các ô giống nhau thành một ô để dữ liệu trông gọn gàng và đẹp mắt. Làm cách nào để bạn hợp nhất các hàng liền kề với cùng một dữ liệu một cách nhanh chóng và thuận tiện? Hôm nay, tôi sẽ giới thiệu cho bạn một số cách nhanh chóng để giải quyết vấn đề này.


Hợp nhất các hàng liền kề của cùng một dữ liệu với mã VBA

Tất nhiên bạn có thể hợp nhất cùng một dữ liệu với Hợp nhất & Trung tâm nhưng nếu có hàng trăm ô cần được hợp nhất, phương pháp này sẽ tốn thời gian. Vì vậy, mã VBA sau đây có thể giúp bạn hợp nhất các dữ liệu giống nhau một cách dễ dàng.

1. Giữ ALT + F11 chìa khóa và nó mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. Nhấp chuột Chèn > Mô-đunvà dán macro sau vào Mô-đuncửa sổ.

Sub MergeSameCell()
'Updateby Extendoffice
Dim Rng As Range, xCell As Range
Dim xRows As Integer
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
xRows = WorkRng.Rows.Count
For Each Rng In WorkRng.Columns
    For i = 1 To xRows - 1
        For j = i + 1 To xRows
            If Rng.Cells(i, 1).Value <> Rng.Cells(j, 1).Value Then
                Exit For
            End If
        Next
        WorkRng.Parent.Range(Rng.Cells(i, 1), Rng.Cells(j - 1, 1)).Merge
        i = j - 1
    Next
Next
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

3. Sau đó nhấn F5 để chạy mã này, một hộp thoại được hiển thị trên màn hình để chọn một dải ô để làm việc. Xem ảnh chụp màn hình:

doc hợp nhất các ô giống nhau 2

4. Sau đó nhấn vào OK, cùng một dữ liệu trong cột A sẽ được hợp nhất với nhau. Xem ảnh chụp màn hình:

doc hợp nhất các ô giống nhau 1


Hợp nhất các hàng liền kề của cùng một dữ liệu với Kutools cho Excel

Với Hợp nhất các ô giống nhau tiện ích của Kutools cho Excel, bạn có thể nhanh chóng hợp nhất các giá trị giống nhau trong nhiều cột bằng một cú nhấp chuột.

Kutools cho Excel : với hơn 300 bổ trợ Excel tiện dụng, dùng thử miễn phí không giới hạn trong 30 ngày. 

Sau khi cài đặt Kutools cho Excel, bạn có thể làm như sau:

1. Chọn các cột mà bạn muốn hợp nhất các hàng liền kề với cùng một dữ liệu.

2. Nhấp chuột Kutools > Hợp nhất & Tách > Hợp nhất các ô giống nhau, xem ảnh chụp màn hình:

3. Và sau đó dữ liệu tương tự trong các cột đã chọn đã được hợp nhất trong một ô. Xem ảnh chụp màn hình:

doc hợp nhất các ô giống nhau 4

Nhấp để Tải xuống Kutools cho Excel và dùng thử miễn phí ngay!

Để biết thêm về điều này, vui lòng truy cập Hợp nhất các ô giống nhau tính năng này.


Demo: Hợp nhất các ô giống nhau thành một ô hoặc hủy hợp nhất để điền các giá trị trùng lặp:

Kutools cho Excel: với hơn 300 bổ trợ Excel tiện dụng, dùng thử miễn phí không giới hạn trong 30 ngày. Tải xuống và dùng thử miễn phí ngay!

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 kte 201905

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!
officetab dưới cùng
Nhận xét (43)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Làm cách nào để sao chép macro VBA để hợp nhất các ô liền kề trong cột thay vì hàng? Thanks
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Violeta, tôi sao chép hàng (bên dưới). vd vd vd: try try vd vd try try And chage code to this: Next WorkRng.Parent.Range (Rng.Cells (1, i), Rng.Cells (1, j - 1)). Merge i = j - 1 It đã hợp nhất hàng ở trên thành "ví dụ" và "thử"
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
đối với bất kỳ ai vẫn đang cố gắng đạt được điều này, tôi nghĩ rằng tôi đã có nó Bắt đầu mã ******************************** ***** Sub MergeSameCell () 'Updateby20131127 Dim Rng As Range, xCell As Range Dim xRows As Integer xTitleId = "MergeSimilar" Set WorkRng = Application.Selection Set WorkRng = Application.InputBox ("Range", xTitleId, WorkRng.Address , Loại: = 8) Application.ScreenUpdating = False Application.DisplayAlerts = False 'xRows = WorkRng.Rows.Count xCols = WorkRng.Columns.Count' For Each Rng In WorkRng.Columns 'For i = 1 To xRows - 1' For j = i + 1 Đến xRows 'If Rng.Cells (i, 1) .Value Rng.Cells (j, 1) .Value Then' Exit For 'End If' Next 'WorkRng.Parent.Range (Rng.Cells (i , 1), Rng.Cells (j - 1, 1)). Hợp nhất 'i = j - 1' Tiếp theo 'Tiếp theo Cho mỗi Rng Trong WorkRng.Rows Đối với i = 1 Với xCols - 1 Đối với j = i + 1 Với xCols If Rng.Cells (1, i) .Value Rng.Cells (1, j) .Value Then Exit For End If Next WorkRng.Parent.Range (Rng.Cells (1, i), Rng.Cells (1, j - 1)). Hợp nhất i = j - 1 Ứng dụng Tiếp theo Tiếp theo.DisplayAlerts = True Appl ication.ScreenUpdating = True End Sub ************************************* End of Code IE Chỉ cần sửa đổi mã để hoán đổi bất kỳ tham chiếu hàng nào cho tham chiếu cột
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Cảm ơn rất nhiều!!! đã giúp tôi trong một thời gian quan trọng
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Điều này đã hữu ích với tôi rất nhiều lần :) Cảm ơn rất nhiều, nó đã giúp tôi tiết kiệm rất nhiều thời gian làm việc. Tôi có một yêu cầu nhỏ. Tôi đang cố gắng tìm cách để thực hiện việc hợp nhất tương tự, nhưng khi có các ô trống bên dưới mỗi giá trị, để hợp nhất từng ô với tất cả các ô trống bên dưới. Làm cách nào để sửa đổi Macro? Cảm ơn bạn trước
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Hãy thử mã này Sub MergeSameCell () Dim Rng As Range, xCell As Range Dim xRows As Integer xTitleId = "KutoolsforExcel" Đặt WorkRng = Application.Selection Set WorkRng = Application.InputBox ("Range", xTitleId, WorkRng.Address, Type: = 8) Application.ScreenUpdating = False Application.DisplayAlerts = False xRows = WorkRng.Rows.Count cho mỗi Rng trong WorkRng.Columns Đối với i = 1 Đến xRows - 1 Đối với j = i + 1 Đến xRows Nếu Rng.Cells (i, 1 ) .Value Rng.Cells (j, 1) .Value Sau đó thoát ra để kết thúc Nếu tiếp theo Nếu không phải là IsEmpty (Rng.Cells (i, 1) .Value) Hoặc Not IsEmpty (Rng.Cells (j - 1, 1) .Value ) Sau đó là WorkRng.Parent.Range (Rng.Cells (i, 1), Rng.Cells (j - 1, 1)). Merge End If i = j - 1 Next Next Application.DisplayAlerts = True Application.ScreenUpdating = True End Phụ
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
hãy thử mã này Sub MergeSameCell () Dim Rng As Range, xCell As Range Dim xRows As Integer xTitleId = "KutoolsforExcel" Đặt WorkRng = Application.Selection Set WorkRng = Application.InputBox ("Range", xTitleId, WorkRng.Address, Type: = 8) Application.ScreenUpdating = False Application.DisplayAlerts = False xRows = WorkRng.Rows.Count cho mỗi Rng trong WorkRng.Columns Đối với i = 1 Đến xRows - 1 Đối với j = i + 1 Đến xRows Nếu Rng.Cells (i, 1 ) .Value Rng.Cells (j, 1) .Value Sau đó thoát ra để kết thúc Nếu tiếp theo Nếu không phải là IsEmpty (Rng.Cells (i, 1) .Value) Hoặc Not IsEmpty (Rng.Cells (j - 1, 1) .Value ) Sau đó là WorkRng.Parent.Range (Rng.Cells (i, 1), Rng.Cells (j - 1, 1)). Merge End If i = j - 1 Next Next Application.DisplayAlerts = True Application.ScreenUpdating = True End Phụ
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Nếu tôi có cùng tên nói dối Raju 1000 Raju 2000 Monu 100 Monu 200 Vậy làm thế nào tôi có thể đặt tên marge với số tiền
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào khi chạy macro này, tôi nhận được "Lỗi do ứng dụng xác định hoặc do đối tượng xác định" tại dòng WorkRng.Parent.Range (rng.Cells (i, 1), rng.Cells (j - 1, 1)). Hợp nhất bất kỳ ý tưởng làm thế nào để khắc phục điều đó? Trân trọng, Michal
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi nhận được cùng một lỗi. bạn đã tìm ra điều đó chưa? nếu bạn làm, bạn đã làm như thế nào? cảm ơn
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
tôi đang gặp một lỗi tương tự
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi để ở đây tập lệnh được sửa đổi để nó sẽ hợp nhất các ô bên dưới có cùng giá trị hoặc với ô trống: Sub MergeSameCell () 'Updateby20131127 Dim Rng As Range, xCell As Range Dim xRows As Integer xTitleId = "KutoolsforExcel" Set WorkRng = Application.Selection Đặt WorkRng = Application.InputBox ("Range", xTitleId, WorkRng.Address, Type: = 8) Application.ScreenUpdating = False Application.DisplayAlerts = False xRows = WorkRng.Rows.Count cho mỗi Rng trong WorkRng.Columns For i = 1 Tới xRows - 1 Đối với j = i + 1 Đến xRows Nếu Rng.Cells (j, 1) .Value "" Then If Rng.Cells (i, 1) .Value Rng.Cells (j, 1) .Value Then Exit For End If End If Next WorkRng.Parent.Range (Rng.Cells (i, 1), Rng.Cells (j - 1, 1)). Merge i = j - 1 Next Next Next Application.DisplayAlerts = True Application.ScreenUpdating = True Kết thúc Sub
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, vui lòng giúp đỡ. Tôi có vấn đề với mã, với dòng này. Có gì sai không? Nếu Rng.Cells (j, 1) .Value "" Thì
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào bạn. Bạn nên có: if Rng.Cells (j, 1) .Value = "" thì ...
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Hợp nhất tốt đẹp. Nhưng nó yêu cầu xác định phạm vi trong khi chạy mã. Tôi muốn chỉ định phạm vi tức là B1: B50 trong mã vba. Và làm cho nó căn chỉnh trên cùng bên trái nhưng làm thế nào xin vui lòng giúp đỡ.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Trong khi chạy đoạn mã trên, sau đó hiển thị lỗi biên dịch: lỗi cú pháp. Trong dòng mà "" được sử dụng và dòng dưới của cái này.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi cũng gặp phải vấn đề này với dòng này. If Rng.Cells (j, 1) .Value "" Sau đó Ai đó có thể giúp đỡ?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
xin chào, Làm cách nào để tôi có thể đặt phạm vi tự động mà không cần người dùng nhập
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Tôi xin lỗi nhưng tôi đã có người khác thực hiện việc viết kịch bản cho tôi, tôi không có kiến ​​thức để giúp bạn sửa đổi.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Chào ngài, . Tôi thử mã vba nhưng nó không hoạt động. Thông báo lỗi cho.408. Đặc biệt là nhận xét WorkRng.Parent. Phạm vi (rng.Cells (i, 1), rng.Cells (j - 1, 1)). Hợp nhất. Xin vui lòng gửi các giải pháp. Tôi dành nhiều thời gian để hợp nhất các tài liệu. Tôi hầu như đã hợp nhất định dạng ô C20059290 này. Trân trọng cảm ơn Purusothaman. C
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào ngài, . Tôi đang sử dụng mã vba cho trang tính excel để hợp nhất các ô. Nó không hoạt động do lỗi 408. Riêng đoạn mã này WorkRng.Parent. Phạm vi (rng.Cells (i, 1), rng.Cells (j - 1, 1)). Hợp nhất. Đưa ra giải pháp. Trân trọng cảm ơn Purusothaman
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Ai đó có thể hướng dẫn bằng kỹ thuật đảo ngược - phân chia ô với giá trị giống nhau cho tất cả được không.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Makro hoạt động, nhưng bây giờ khi tôi muốn lọc trên cột A, chỉ có Thông tin đầu tiên từ cột B áp dụng cho cột A được nhìn thấy. Nhìn vào ví dụ được đưa ra trong makro, nếu tôi muốn lọc vào thứ Hai sau khi quá trình hợp nhất hoàn tất, chỉ Nicol sẽ Hiển thị và không có thông tin nào từ Lucy và Lily được hiển thị. Có dòng nào tôi có thể thêm để tránh điều này không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
nếu bạn thực sự muốn lọc thì việc hợp nhất các ô sẽ không giúp ích được gì cho bạn.
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
In EXCEL INPUT NAME PRO1 PRO2 PRO3 A B C output A PRO1 A PRO2 A PRO3 B PRO1 B PRO2 B PRO3 C PRO1 C PRO2 C PRO3
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Điều này thực sự hữu ích và đã tiết kiệm thời gian của tôi ở mức độ lớn hơn
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Mã VBA có thể được sửa đổi để đạt được điều tương tự để hợp nhất giữa các cột (trái ngược với các hàng xuống, như ở trên) và sau đó lặp lại cho tất cả các hàng không?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Sử dụng mã trên và sau đó chuyển đổi kết quả
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Rất hữu ích !! Cảm ơn rất nhiều
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Ôi bạn đời, bạn đã tiết kiệm rất nhiều ngày của tôi. Cảm ơn bạn!!!!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Trong dòng mã VBA ở trên, số 19 "i = j-1"
nó sẽ ảnh hưởng đến logic của chúng ta như thế nào? Tôi đã xóa điều đó và vẫn có thể nhận được kết quả tương tự!
Bất kỳ mục đích cụ thể tại sao nó có mặt?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Nó là để giới hạn giá trị i ở hàng cuối cùng.
Xin vui lòng bỏ qua bài viết này!
Không có bình luận nào được đăng ở đây
Tải thêm
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL