Excel Vba Forum - Excelce.Net
SORU ve CEVAPLAR (Yazılabilir) => Microsoft Excel, Vba, Makro, Formül vb. Soruları => Çözülen Excel, Vba, Makro, Formül vb. Soruları => Konuyu başlatan: jepue - 09 Haziran 2010, 17:15:38
-
Arkadaşlar merhaba,
Excel de renklere göre satır saydırma nasıl yapabilirim?
Yeşil renkli satır kaç tane ,sarı renkli satır kaç tane?
-
Merhaba, hoş geldiniz.
Örnek bir dosya ekleyebilir misiniz?
-
Merhaba, hoş geldiniz.
Örnek bir dosya ekleyebilir misiniz?
Ekledim.
http://rapidshare.com/files/397109542/__rnek.rar.html
-
Kullanıcı tanımlı fonksiyon ile şöyle sorunu halledebiliriz;
Public Function renk_say(kendim As Range, aralik As Range)
Dim excelce As Range
Dim r_say As Long
Application.Volatile
kendimm = kendim.Interior.ColorIndex
For Each excelce In aralik
If excelce.Interior.ColorIndex = kendim.Interior.ColorIndex Then r_say = r_say + 1
Next excelce
renk_say = r_say
End Function
Public Function renk_topla(tkendim As Range, taralik As Range)
Dim excelcenet As Range
Dim r_say As Long
Application.Volatile
tkendimm = tkendim.Interior.ColorIndex
For Each excelcenet In taralik
If excelcenet.Interior.ColorIndex = tkendim.Interior.ColorIndex Then r_topla = r_topla + excelcenet.Value
Next excelcenet
renk_topla = r_topla
End Function
Kullanımı:
Yukarıdaki kodları bir modüle yapıştırın.
Excel sayfasında, sayı adedi veya toplam alacağınız, yani aşağıdaki formülü yazacağınız hücreleri de aynı renk yapıp, formülleri yazın.
=renk_say(D2;B2:B20)
=renk_topla(E2;B2:B20)
Örnek dosyanız ektedir:
[Forum yazılım güncelleme esnasında sorun oluştuğundan eklendi silinmiştir.]
-
Kullanıcı tanımlı fonksiyon ile şöyle sorunu halledebiliriz;
Public Function renk_say(kendim As Range, aralik As Range)
Dim excelce As Range
Dim r_say As Long
Application.Volatile
kendimm = kendim.Interior.ColorIndex
For Each excelce In aralik
If excelce.Interior.ColorIndex = kendim.Interior.ColorIndex Then r_say = r_say + 1
Next excelce
renk_say = r_say
End Function
Public Function renk_topla(tkendim As Range, taralik As Range)
Dim excelcenet As Range
Dim r_say As Long
Application.Volatile
tkendimm = tkendim.Interior.ColorIndex
For Each excelcenet In taralik
If excelcenet.Interior.ColorIndex = tkendim.Interior.ColorIndex Then r_topla = r_topla + excelcenet.Value
Next excelcenet
renk_topla = r_topla
End Function
Kullanımı:
Yukarıdaki kodları bir modüle yapıştırın.
Excel sayfasında, sayı adedi veya toplam alacağınız, yani aşağıdaki formülü yazacağınız hücreleri de aynı renk yapıp, formülleri yazın.
=renk_say(D2;B2:B20)
=renk_topla(E2;B2:B20)
Örnek dosyanız ektedir:
Teşekkür ederim çok işime yaradı.
-
Rica ederim.
Çalışmalarınızda başarılar.
-
sayın hocam bu formülle ilgili şöyle bir hataya düşüyoruz
invalid outside proscedure
makro kayıt olduktan sonre excelce komutuyla ilgili çıkıyor
-
tebrikler
-
Merhaba bu komutla çalışırken renk sayısı artırıldığında toplamında otomatik artırılması nasıl sağlanırçZira bu şekilde yeni renkli hücre eklendiğinde toplam sayı artmıyor.Formüle tekrar girip enterlemek gerekiyor.