- Katılım
- 27 Eylül 2011
- Mesajlar
- 6
- Excel Vers. ve Dili
- excel 2007 türkçe
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Ekte yer alan renk ve adetlerden oluşan bu tabloyu, bana her renkten kaç adet olduğunun yekününü gösterecek şekilde listelemek istiyorum. Boş satır ve renk adı tekrarı olmaksızın. Teşekkür ederim
Formüllerde 1000 satır baz alınmıştır.Dizi Formülü Formül Hücreye Girildikten Sonra Enter Tuşuna Basmadan Ctrl+Shift+Enter Tuş Kombinasyonu İle Aktif Olmaktadır. Formülün Başında Ve Sonunda { } Bu İşaretler Çıkar Elle Eklediğiniz Takdirde Formül Hata Verir.
1000 satır'ı değiştirmek için ctrl+h yapın aranan değere $1000 yeni değere $10000 yazın ve tümünü değiştir deyin.
$10000 olan yeri kendinize göre ayarlayınız.
Option Base 1
Sub renk_59()
Dim z As Object, a As Long, liste(), i As Long
Sheets("Sayfa1").Select
Application.ScreenUpdating = False
Range("E:F").ClearContents
liste = Range("A1:B" & Cells(65536, "A").End(xlUp).Row).Value
Set z = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(liste)
If Not z.exists(liste(i, 1)) Then
z.Add liste(i, 1), liste(i, 2)
Else
z.Item(liste(i, 1)) = z.Item(liste(i, 1)) + liste(i, 2)
End If
Next
Erase liste()
Range("E1").Resize(z.Count, 2) = Application.Transpose(Array(z.keys, z.items))
Set z = Nothing
Application.ScreenUpdating = False
MsgBox "Yekunlar çıkarılmıştır." & vbLf & "evrengizlen@hotmail.com", vbOKOnly + vbInformation
End Sub
Merhaba
Eki İnceleyin
Sarı boyalı yerdeki formüller dizi formülüdür. Formüllerde 1000 satır baz alınmıştır.
merhabal İhsan Hocam, formul gayet güzel çalışıyor sağolun. ancak benim için gerekli bir işlevi eklemeyi unutumuşum belirtmeyi. ekte belirttiğim gibi, her bir rengin tekrarlanma adedini de gösterecek şekilde düzenleyebilir misiniz formulu.
Şimdiden çok teşekküler,
=EĞER($G2="";"";EĞERSAY($A$2:$A$1000;$G2))
Dosyanız ektedir.
Kod:Option Base 1 Sub renk_59() Dim z As Object, a As Long, liste(), i As Long Sheets("Sayfa1").Select Application.ScreenUpdating = False Range("E:F").ClearContents liste = Range("A1:B" & Cells(65536, "A").End(xlUp).Row).Value Set z = CreateObject("Scripting.Dictionary") For i = 1 To UBound(liste) If Not z.exists(liste(i, 1)) Then z.Add liste(i, 1), liste(i, 2) Else z.Item(liste(i, 1)) = z.Item(liste(i, 1)) + liste(i, 2) End If Next Erase liste() Range("E1").Resize(z.Count, 2) = Application.Transpose(Array(z.keys, z.items)) Set z = Nothing Application.ScreenUpdating = False MsgBox "Yekunlar çıkarılmıştır." & vbLf & "evrengizlen@hotmail.com", vbOKOnly + vbInformation End Sub
Bu kodlar arasındaki yapılan işler ekranda gözkmüyor.Evren Bey Merhaba;
size zahmet olmayacak ise aşağıdaki kod dizininde application.screenupdating=false
......
application.screenupdating= true
aralığını satır satır açıklayabilir misiniz?
türkçe karşılığı / açıklaması nedir
teşekkürler
Rica ederim.Bu kodların yazımı yararlı olmuş.Genişletilerek Heryerde kullanılabilir
Başka bir dosyada bu kodları bende kendime uyarladım. Filtreli toplamları kullanmaktansa bunu kullanmak daha süper
Teşekkür ederiz, Evren Bey.