Trong bài viết này, chúng tôi sẽ tạo một macro để trích xuất các giá trị duy nhất từ ​​phạm vi đã xác định.

Dữ liệu thô cho ví dụ này bao gồm các mục nhập trùng lặp của tên quốc gia trong phạm vi A7: A21.

ArrowMain

Chúng tôi đã tạo macro “FindUniqueValues” để trích xuất các giá trị duy nhất từ ​​phạm vi đã xác định. Macro này có thể được chạy bằng cách nhấp vào nút “Gửi”. Trước khi nhấp vào nút “Gửi”, chúng ta phải chỉ định địa chỉ của dải ô chứa dữ liệu trùng lặp trong ô H9 và địa chỉ của đích nơi đầu ra sẽ xuất hiện.

ArrowOutput

Giải thích logic

Macro “FindUniqueValues” nhận hai đối tượng phạm vi làm tham số đầu vào.

Tham số đầu tiên xác định phạm vi chứa dữ liệu trùng lặp và tham số thứ hai xác định vị trí của ô bắt đầu sẽ chứa đầu ra. Macro này không thể được gọi trực tiếp vì chúng tôi phải chỉ định các tham số, vì vậy chúng tôi đã tạo macro thứ hai “MacroRunning” để gọi macro.

Macro “MacroRunning” gọi macro “FindUniqueValues” với tham số do người dùng nhập.

Giải thích mã

SourceRange.AdvancedFilter Action: = xlFilterCopy, _ CopyToRange: = TargetCell, Unique: = True Phương thức AdvancedFilter của đối tượng Range được sử dụng để lọc hoặc sao chép dữ liệu từ phạm vi dựa trên một tiêu chí nhất định. Để chỉ sao chép các giá trị duy nhất, chúng ta phải đặt tham số Unique của AdvancedFilter thành True.

Vui lòng theo dõi bên dưới để biết mã

Option Explicit

Sub FindUniqueValues(SourceRange As Range, TargetCell As Range)

'Using advance filter for extacting unique items in the source range

SourceRange.AdvancedFilter Action:=xlFilterCopy, _

CopyToRange:=TargetCell, Unique:=True



End Sub

Sub MacroRunning()

'Calling FindUniqueValues macro

Call FindUniqueValues(Range(Range("H9").Value), Range(Range("H10").Value))

End Sub

Nếu bạn thích blog này, hãy chia sẻ nó với bạn bè của bạn trên Facebook và Facebook.

Chúng tôi rất muốn nghe ý kiến ​​từ bạn, hãy cho chúng tôi biết cách chúng tôi có thể cải thiện công việc của mình và làm cho nó tốt hơn cho bạn. Viết thư cho chúng tôi [email protected]