Bu yazımızda, tanımlanan aralıktan benzersiz değerler çıkarmak için bir makro oluşturacağız.
Bu örnek için ham veriler, A7:A21 aralığındaki ülke adlarının yinelenen girişlerinden oluşur.
Tanımlanan aralıktan benzersiz değerler çıkarmak için “FindUniqueValues” makrosu oluşturduk. Bu makro, “Gönder” düğmesine tıklanarak çalıştırılabilir. “Gönder” düğmesine tıklamadan önce, H9 hücresinde yinelenen verileri içeren aralığın adresini ve çıktının görünmesi gereken hedefin adresini belirtmeliyiz.
Mantıksal açıklama
“FindUniqueValues” makrosu, giriş parametreleri olarak iki aralık nesnesi alır. İlk parametre, yinelenen verileri içeren aralığı tanımlar ve ikinci parametre, çıktıyı içerecek olan başlangıç hücresinin konumunu tanımlar. Bu makro, parametreleri belirtmemiz gerektiği için doğrudan çağrılamaz, bu yüzden makroyu çağırmak için ikinci makroyu “MacroRunning” oluşturduk.
“MacroRunning” makrosu, kullanıcı tarafından parametre girişi yapılarak “FindUniqueValues” makrosunu çağırır.
Kod açıklaması
SourceRange.AdvancedFilter Eylem:=xlFilterCopy, _
CopyToRange:=TargetCell, Benzersiz:=True
Range nesnesinin AdvancedFilter yöntemi, belirli bir kritere göre aralıktaki verileri filtrelemek veya kopyalamak için kullanılır. Yalnızca benzersiz değerleri kopyalamak için AdvancedFilter'ın Unique parametresini True olarak ayarlamalıyız.
Lütfen kod için aşağıdan takip edin
Seçenek Explicit Sub FindUniqueValues(SourceRange As Range, TargetCell As Range) 'Kaynak aralığında benzersiz öğeleri çıkarmak için gelişmiş filtre kullanma SourceRange.AdvancedFilter Action:=xlFilterCopy, _ CopyToRange:=TargetCell, Unique:=True End Sub Sub () MacroRunning FindUniqueValues makrosunu çağırma FindUniqueValues(Range(Range("H9").Value), Range(Range("H10").Value)) End Sub'ı çağırın
Bu blogu beğendiyseniz, Facebook'ta arkadaşlarınızla paylaşın. Ayrıca bizi Twitter ve Facebook'ta da takip edebilirsiniz.
Sizden haber almayı çok isteriz, işimizi nasıl geliştirebileceğimizi ve sizin için nasıl daha iyi hale getirebileceğimizi bize bildirin. E-posta sitesinde bize yazın