- Katılım
- 10 Ekim 2010
- Mesajlar
- 1,469
- Excel Vers. ve Dili
- 2010 Türkçe
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
=TOPLA.ÇARPIM(--(EĞERSAY(KAYDIR(liste!A3;;;SATIR(1:100));liste!$A$3:$A$16)=1))
=EĞERHATA(İNDİS(liste!$A$2:$A$100;KÜÇÜK(EĞER(EĞERSAY(KAYDIR(liste!$A$3;;;SATIR($1:$100));liste!$A$3:$A$100)=1;SATIR($3:$100));SATIR(A1)));"")
Sayın Kuvari,
Aynı üründen birer tanesi olmasını istiyorum rapor sayfasında, bu sadece 1 ürünü çekiyor.
Orda listede 14 tane ürün var her birinden birer tane olacak şekilde olmasından söz ediyorum. Sanırım her seferinde yanlış anlatıyorum.
Formülü aşağı doğru uyguladığımda ilk hücre hariç gerisinden gelen yok.
Lütfen bu şekilde uyarlamayı da yapabilir miyiz. örnek dosya eklerseniz de ayrıca memnun olurum.
İyi çalışmalar dilerim saygılarımla.
Sub al()
Dim s1, s2 As Worksheet
Set s1 = Sheets("liste")
Set s2 = Sheets("rapor")
x = 3
son = s1.Cells(Rows.Count, "a").End(3).Row
For i = 3 To son
If WorksheetFunction.CountIf(s1.Range("a3:a" & i), s1.Cells(i, "a")) = 1 Then
s2.Cells(x, "b") = s1.Cells(i, "a")
x = x + 1
End If
Next
End Sub
Sub aktar()
Dim d As Object, a(), sat As Long, i As Long
Dim s1 As Worksheet, s2 As Worksheet
Set s1 = Sheets("liste")
Set s2 = Sheets("rapor")
Application.ScreenUpdating = False
sat = s1.Range("A" & Rows.Count).End(xlUp).Row
Set d = CreateObject("Scripting.Dictionary")
a = s1.Range("A3:A" & sat).Value
For i = 1 To UBound(a)
If a(i, 1) <> "" Then
d(a(i, 1)) = ""
End If
Next i
s2.Range("A3:A" & Rows.Count).ClearContents
s2.Range("A3:A" & d.Count + 2) = Application.Transpose(d.keys)
Set d = Nothing
Application.ScreenUpdating = True
MsgBox "Bitti"
End Sub