Chuyển đến nội dung chính

Hàm trong VBA tìm tất cả các giá trị lặp lại trong một vùng Function FindDuplicates



Để viết một hàm UDF (User Defined Function) trong VBA (Visual Basic for Applications) tìm tất cả các giá trị lặp lại trong một vùng, bạn có thể làm như sau:

  1. Mở Excel và nhấn Alt + F11 để mở cửa sổ VBA.
  2. Chọn Insert > Module để tạo một module mới.
  3. Dán mã VBA sau vào module mới:
Function FindDuplicates(rng As Range) As String
    Dim cell As Range
    Dim dict As Object
    Set dict = CreateObject("Scripting.Dictionary")

    ' Lặp qua từng ô trong vùng được chỉ định
    For Each cell In rng
        If Not IsEmpty(cell.Value) Then
            ' Kiểm tra nếu giá trị đã tồn tại trong từ điển
            If dict.exists(cell.Value) Then
                dict(cell.Value) = dict(cell.Value) + 1
            Else
                dict.Add cell.Value, 1
            End If
        End If
    Next cell

    ' Tạo một chuỗi để chứa các giá trị lặp lại
    Dim result As String
    result = ""

    ' Lặp qua từng mục trong từ điển
    Dim key As Variant
    For Each key In dict.Keys
        If dict(key) > 1 Then
            result = result & key & ", "
        End If
    Next key

    ' Loại bỏ dấu phẩy cuối cùng
    If Len(result) > 0 Then
        result = Left(result, Len(result) - 2)
    End If

    FindDuplicates = result
End Function
  1. Đóng cửa sổ VBA và quay lại Excel.

Bây giờ bạn có thể sử dụng hàm FindDuplicates như một hàm thông thường trong Excel. Ví dụ:

=FindDuplicates(A1:A10)

Hàm này sẽ trả về một chuỗi chứa tất cả các giá trị lặp lại trong vùng từ A1 đến A10, được phân tách bằng dấu phẩy.

Nhận xét

Bài đăng phổ biến từ blog này

Hướng Dẫn Xóa Các Style Tùy Chỉnh Trong Word Bằng VBA

  Hướng Dẫn Xóa Các Style Tùy Chỉnh Trong Word Bằng VBA Khi làm việc với các tài liệu Word tải về, bạn có thể gặp phải tình trạng tài liệu chứa quá nhiều Style tùy chỉnh không cần thiết, khiến việc định dạng trở nên rối rắm. Bài viết này sẽ hướng dẫn bạn cách xóa toàn bộ các Style tùy chỉnh và chỉ giữ lại các Style mặc định của Word bằng cách sử dụng VBA (Visual Basic for Applications). Bước 1: Kích hoạt Developer Tab trong Word Trước khi sử dụng VBA, bạn cần kích hoạt tab Developer : Mở Word . Vào File > Options . Trong cửa sổ Word Options , chọn Customize Ribbon . Trong danh sách bên phải, đánh dấu vào ô Developer và bấm OK . Bước 2: Mở VBA Editor Nhấn Alt + F11 để mở VBA Editor . Trong cửa sổ VBA, vào menu Insert > Module để tạo một module mới. Bước 3: Dán đoạn mã VBA Dán đoạn mã sau vào module mới: Sub DeleteCustomStyles() Dim s As Style For Each s In ActiveDocument.Styles If Not s.BuiltIn Then On Error Resume Next s.Delete ...

Tóm tắt Cuốn sách "Broken Money" của Lyn Alden

Cuốn sách "Broken Money" của Lyn Alden phân tích sự phát triển của tiền tệ qua các thời kỳ và những vấn đề của hệ thống tài chính hiện đại. Dưới đây là các ý tưởng và chủ đề chính của cuốn sách: 1. Sự tiến hóa của tiền tệ: Từ hàng hóa đến tiền pháp định: Ban đầu, các cộng đồng sử dụng các vật phẩm như vỏ sò, muối và lông thú làm phương tiện trao đổi. Với sự phát triển công nghệ, vàng và bạc trở thành tiền tệ chính do tính khan hiếm và bền vững. Sau đó, tiền pháp định (fiat) xuất hiện, được chính phủ phát hành mà không có sự bảo đảm bằng hàng hóa cụ thể. Shortform Ảnh hưởng của công nghệ: Sự ra đời của các công nghệ như điện báo đã thay đổi cách thức giao dịch và lưu trữ giá trị, dẫn đến sự chuyển đổi từ tiền tệ dựa trên hàng hóa sang tiền pháp định. Bitcoin News 2. Vấn đề của hệ thống tiền tệ hiện đại: Lạm phát và mất giá: Các chính phủ và ngân hàng trung ương có thể tạo ra tiền với chi phí thấp, dẫn đến lạm phát và làm giảm giá trị tiết kiệm của người dân. Võ Hoàng Hạc Sự...