Hướng dẫn how do i find duplicate words in excel? - làm cách nào để tìm các từ trùng lặp trong excel?
Hướng dẫn chỉ ra cách làm nổi bật các từ trùng lặp hoặc chuỗi văn bản trong ô bằng VBA. Show
Định dạng có điều kiện Excel giúp làm nổi bật các bản sao theo mọi cách có thể bạn có thể nghĩ đến: có hoặc không có lần xuất hiện thứ nhất, trong một cột hoặc nhiều cột, các ô trùng lặp liên tiếp và toàn bộ các hàng dựa trên các giá trị giống hệt nhau trong một cột chính. Nhưng, như thường lệ, có một "nhưng". Các quy tắc định dạng có điều kiện hoạt động ở cấp độ ô trong khi bạn có thể muốn làm nổi bật văn bản trùng lặp hơn là toàn bộ ô. Điều này chỉ có thể được thực hiện với macro. Ngay cả khi bạn không có bất kỳ kinh nghiệm nào với VBA, xin vui lòng không vội vàng đóng trang này. Tại đây, bạn sẽ tìm thấy các ví dụ mã sẵn sàng sử dụng và các hướng dẫn chi tiết về cách sử dụng chúng trong bảng tính của bạn. Đánh dấu các từ trùng lặp trong một ô bỏ qua trường hợp văn bảnVí dụ này cho thấy cách che bóng các từ hoặc chuỗi văn bản trong một ô có màu phông chữ màu đỏ như được hiển thị trong hình dưới đây. Xin lưu ý rằng các chữ cái chữ thường và chữ hoa được coi là cùng một ký tự. Ví dụ, cam, cam và cam được coi là cùng một từ. Mã của macro như sau: Publicsub nổi bậtDupesCaseInsensitive () dim ô dưới dạng phạm vi phân định dimer asstringDelimiter = inputBox ("Nhập dấu phân cách phân tách các giá trị trong ô", "Delimiter", ",") Tế bào foreach trong ứng dụng. Điểm nổi bậtDupewordSincell (ô như phạm vi, phân định tùy chọn asstring = "" . matchCount = matchCount + 1 endifnext nextIde Index if matchCount> 0 thì text = "" cho index = lbound (từ) toubound (từ) text = text & amp; từ (index) if (từ (index) = word) sau đó cell.characters (len (văn bản) - len (từ) + 1, len (từ)). font.color = vbre endif text = text & amp; DELIMITER NEXTENDIFNEXT WordIndex Endsub Sub HighlightDupesCaseInsensitive() Dim Cell As Range Dim Delimiter As StringDelimiter = InputBox("Enter the delimiter that separates values in a cell", "Delimiter", ", ")For Each Cell In Application.Selection Call HighlightDupeWordsInCell(Cell, Delimiter, False) Next End Sub Sub HighlightDupeWordsInCell(Cell As Range, Optional Delimiter As String = " ", Optional CaseSensitive As Boolean = True) Dim text As String Dim words() As String Dim word As String Dim wordIndex, matchCount, positionInText As Integer If CaseSensitive Then words = Split(Cell.Value, Delimiter) Else words = Split(LCase(Cell.Value), Delimiter) End If For wordIndex = LBound(words) To UBound(words) - 1 word = words(wordIndex) matchCount = 0 For nextWordIndex = wordIndex + 1 To UBound(words) If word = words(nextWordIndex) Then matchCount = matchCount + 1 End If Next nextWordIndex If matchCount > 0 Then text = "" For Index = LBound(words) To UBound(words) text = text & words(Index) If (words(Index) = word) Then Cell.Characters(Len(text) - Len(word) + 1, Len(word)).Font.Color = vbRed End If text = text & Delimiter Next End If Next wordIndex End Sub Đánh dấu văn bản trùng lặp trong một trường hợp phân biệt tế bàoTrong hầu hết các tình huống, chúng ta có xu hướng bỏ qua trường hợp thư khi làm việc với các mục văn bản trong Excel. Trong một số trường hợp nhất định, tuy nhiên, trường hợp văn bản không quan trọng. Chẳng hạn, nếu bạn đang xử lý ID, mật khẩu hoặc các bản ghi khác thuộc loại đó, các chuỗi như 1-AA, 1-AA và 1-AA không phải là trùng lặp và không nên được tô sáng: Trong trường hợp này, hãy sử dụng phiên bản sau của mã: Publicsub nổi bậtDupesCaseSensitive () dimer ô như phạm vi phân định Dim asstringDelimiter = inputBox ("Nhập phân cách phân tách các giá trị trong ô", "Delimiter", ",") Tế bào foreach trong ứng dụng. Điểm nổi bậtDupewordSincell (ô như phạm vi, phân định tùy chọn asstring = "" . matchCount = matchCount + 1 endifnext nextIde Index if matchCount> 0 thì text = "" cho index = lbound (từ) toubound (từ) text = text & amp; từ (index) if (từ (index) = word) sau đó cell.characters (len (văn bản) - len (từ) + 1, len (từ)). font.color = vbre endif text = text & amp; DELIMITER NEXTENDIFNEXT WordIndex Endsub Sub HighlightDupesCaseSensitive() Dim Cell As Range Dim Delimiter As StringDelimiter = InputBox("Enter the delimiter that separates values in a cell", "Delimiter", ", ")For Each Cell In Application.Selection Call HighlightDupeWordsInCell(Cell, Delimiter, True) Next End Sub Sub HighlightDupeWordsInCell(Cell As Range, Optional Delimiter As String = " ", Optional CaseSensitive As Boolean = True) Dim text As String Dim words() As String Dim word As String Dim wordIndex, matchCount, positionInText As Integer If CaseSensitive Then words = Split(Cell.Value, Delimiter) Else words = Split(LCase(Cell.Value), Delimiter) End If For wordIndex = LBound(words) To UBound(words) - 1 word = words(wordIndex) matchCount = 0 For nextWordIndex = wordIndex + 1 To UBound(words) If word = words(nextWordIndex) Then matchCount = matchCount + 1 End If Next nextWordIndex If matchCount > 0 Then text = "" For Index = LBound(words) To UBound(words) text = text & words(Index) If (words(Index) = word) Then Cell.Characters(Len(text) - Len(word) + 1, Len(word)).Font.Color = vbRed End If text = text & Delimiter Next End If Next wordIndex End Sub Cách sử dụng các macro để làm nổi bật các từ sao chép trong ExcelNếu bạn là người mới bắt đầu sử dụng VBA, các hướng dẫn từng bước dưới đây sẽ thoải mái hướng dẫn bạn qua. Người dùng có kinh nghiệm có thể chỉ chọn liên kết tải xuống và bỏ qua phần còn lại :) Thêm mã vào sổ làm việc của bạnBạn bắt đầu với việc chèn mã macro vào sổ làm việc Excel của bạn. Đây là cách:
Ngoài ra, bạn có thể tải xuống sổ làm việc mẫu của chúng tôi và chạy macro từ đó. Sổ làm việc mẫu chứa các macro sau:
Để biết thêm thông tin, vui lòng xem cách chèn mã VBA vào Excel. Chạy macroVới mã được thêm vào sổ làm việc riêng hoặc tệp mẫu của chúng tôi được tải xuống và mở, chạy macro theo cách này:
Một lúc sau, tất cả các chuỗi trùng lặp trong các ô đã chọn sẽ được tô màu màu đỏ (hoặc bất kỳ màu phông chữ nào được đặt trong mã của bạn). Mẹo. Để nhanh chóng loại bỏ các bản sao trong một ô, bạn có thể sử dụng loại bỏ các chuỗi con trùng lặp, một trong nhiều công cụ tiết kiệm thời gian có trong bộ cuối cùng của chúng tôi. To quickly remove duplicates within a cell, you can utilize Remove Duplicate Substrings, one of many timesaving tools included in our Ultimate Suite. Cách điều chỉnh mã cho nhu cầu của bạnVới các ghi chú sử dụng này và kiến thức rất cơ bản về VBA (hoặc chỉ theo sát các hướng dẫn dưới đây), bạn có thể dễ dàng sửa đổi các mã theo chính xác nhu cầu của bạn. Đặt trên cùng một mô -đunNhư bạn có thể nhận thấy, cả hai macro (nổi bậtDupesCaseSensitive và nổi bậtDupesCaseInsensitive) đều gọi chức năng nổi bậtDupewordSincell. Sự khác biệt giữa hai macro trên chỉ trong tham số thứ 3 (trường hợp nhạy cảm) được truyền cho hàm nói trên. Đối với tìm kiếm nhạy cảm trường hợp, nó được đặt thành đúng:
Đối với tìm kiếm không nhạy cảm trường hợp, nó được đặt thành sai:
Để các macro hoạt động, mã của chức năng nổi bậtDupewordSincell phải được đặt vào cùng một mô -đun với các macro. Phân địnhKhi chạy, macro sẽ yêu cầu bạn chỉ định dấu phân cách phân tách các từ/chuỗi trong các ô đã chọn. DELIMITER mặc định là dấu phẩy và không gian (",") và nó được đặt trước trong InputBox:
Trong mã của bạn, bạn có thể tự do sử dụng (các) ký tự nào khác làm dấu phân cách được xác định trước. Màu sắcTheo mặc định, chức năng nổi bậtDupewordSincell nhân đôi màu đỏ phông chữ. Màu sắc được xác định trong dòng này:
Ở đây, VBRED là một loại hằng số màu VBA. Để hiển thị các dấu hiệu với một màu khác, bạn có thể thay thế VBRED bằng một hằng số khác như VBGreen, Vbyellow, Vbblue, v.v ... Danh sách các hằng số màu được hỗ trợ có thể được tìm thấy ở đây.vbBlue, etc. The list of supported color constants can be found here. Đó là cách làm nổi bật các từ trùng lặp trong các ô Excel. Tôi cảm ơn bạn đã đọc và hy vọng sẽ gặp bạn trên blog của chúng tôi vào tuần tới! Tải xuống có sẵnMã ví dụ để làm nổi bật các bản sao trong một ô (tệp .xlsm) Ultimate Suite phiên bản đầy đủ chức năng 14 ngày (tệp .exe) Bạn cũng có thể quan tâmLàm thế nào để bạn làm nổi bật các chuỗi văn bản trùng lặp hoặc các từ trong ô Excel?Trong bảng tính của bạn, chọn các ô nơi bạn muốn làm nổi bật văn bản trùng lặp.Đây có thể là một phạm vi hoặc nhiều phạm vi không liên kết.Nhấn Alt + F8.Press Alt + F8.
Có cách nào để tìm bản sao trong Excel mà không cần xóa không?Tìm các giá trị trùng lặp mà không cần xóa theo định dạng có điều kiện.. Chọn các giá trị bạn muốn tìm bản sao, nhấp vào Trang chủ> Định dạng có điều kiện> Đánh dấu các quy tắc ô> Các giá trị trùng lặp .. Trong hộp thoại Popping trùng lặp giá trị, chọn tùy chọn tô sáng khi bạn cần từ danh sách thả xuống bên phải..... Bấm OK .. |