• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Sütundaki Her Veriden 1 Tane Alma

Katılım
28 Haziran 2007
Mesajlar
168
Excel Vers. ve Dili
OFFİCE 2016 (Türkçe)
Merhaba arkadaşlar...
Muhtemelen çok kolay birşey ama ben bulamadım açıkçası...

Ekli dosyamdan da anlaşılacağı üzere A sütununda değişik sayılar bulunmakta...

Amacım, B1 hücresine A sütununda bulunan her farklı sayıdan bir tane yazdırmak istiyorum...

Ancak bunu öncelikle formül ile, olmadığı takdirde ise otomatik çalışan makro ile yapmak istiyorum...


Saygılarımla...
 

Ekli dosyalar

Bir makro oluşturun ve aşağıdaki kodu yazınız.

Sub makro()

Range("A1:A30").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"B1"), Unique:=True
End Sub

Başka bir yol;
Veri - filitre - gelişmiş filitreden de yapabilirsiniz.
 
Son düzenleme:
Verdiğiniz makro işimi görmediği gibi söylediğiniz yöntem de işimi görmedi...

Ayrıca, yazmayı unutmuşum... Ben Sayfa 1'de bulunan A sütunundan Sayfa2'de bulunan B1 hücresine bu işlemi yapmak istiyorum...

Makroda şu sorunum var... Bu özelliğin Sayfa 1'deki A sütununda değişiklik olduğunda otomatik olarak kendisini yenilemesi gerekiyor....

Saygılarımla....
 

Ekli dosyalar

. . .

Sayfa1 IV sütunu yardımcı olarak kullanılmıştır.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
On Error Resume Next
Dim s1 As Worksheet
Dim s2 As Worksheet
Set s1 = Sheets("sayfa1")
Set s2 = Sheets("sayfa2")
aa = s1.[a65536].End(3).Row

If Not Intersect(Target, [a2:a65536]) Is Nothing Then
s2.Cells(1, "b") = ""

s1.Range("A2:A" & aa).AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("A1:A" & aa), CopyToRange:=Range("ıv1"), Unique:=True

bb = s1.[ıv65536].End(3).Row

For i = 2 To bb
bir = s1.Cells(1, "ıv")
s2.Cells(1, "b") = s2.Cells(1, "b") & ", " & s1.Cells(i, "ıv")
Next i

s2.Cells(1, "b") = bir & s2.Cells(1, "b")
s1.Columns("IV:IV").ClearContents
End If
Application.ScreenUpdating = True
End Sub
. . .
 
Son düzenleme:
Geri
Üst