Interior.ColorIndex = xlNone ve Font.ColorIndex = 0 hücre aralığını toplama

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Function BiçimTopla (Aralık, fontindex, dolguindex)
Aralık = mesala a11:a45
fontindex mesala = 0 (otomatik)
interior(dolguindex) ) = yok (xlnone)
olanları nasıl toplarım.

İlgili Yeni Sorular:
Kod:
    Selection.Interior.ColorIndex = xlNone
    Selection.Font.ColorIndex = 0
1) durumunu nasıl toplatacağız hocam ilgili yerelere xlnone,0 yazdım ama işe yaramadı
2) herhangi bir renk ile işaretlenmiş hücreleri aynı anda toplama imkanı varmı
3) İşlem tipi 1 demişsiniz toplamak için peki işlem tipi = 2 için sayma işelmi atamak için nereye ne ilave edeceğiz.
4) Kullanıcı tanımlı fonsiyonlara yardım eklenebilirmi[/QUOTE]


Aşağıda Hücre rengi ve Dolgu rengi 1 iala 56 arasında olanların çöümüne ilişkin yöntem mevcut. Ali hocama teşekkür ederim.

Dolgu rengi değişimi sayfanın yeniden hesaplanması olayını tetiklemiyor, ben zaten günlükten tsbye dağıtım yapıyordum çözümü şu şekilde buldum

İlgili sayfada bir command buton tanımladım (daha doğrusu oraya bağlayacam) modüldeki adını yazdım
Kod:
Private Sub CommandButton1_Click()
test
End Sub
modül sayfasına fonksiyon ve kodları yazdım
Kod:
Function brdrenktopla(Adres As Range, Dolgu_rengi, Font_rengi, islem As Integer)
Dim c As Range
On Error Resume Next
Toplam = 0
If islem = 1 Then
    For Each c In Adres
       If c.Interior.ColorIndex = Dolgu_rengi And c.Font.ColorIndex = Font_rengi And c <> "" Then Toplam = Toplam + c.Value
    Next
End If
brdrenktopla = Toplam
End Function
Sub test()
Set S2 = Sheets("tsb")
S2.Cells(13, 3) = brdrenktopla(S2.[C4:C11], 1, 2, 1) 'alış
End Sub
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Sn Ali hocam&#305;n kodlar&#305;n&#305;ndan &#246;nce bir fonksiyon olu&#351;turdum sonra 1. soumun cevab&#305;n&#305; buldum;
Kod:
Public Function ozellik(Ornek_Hucre)
FontRengi = Ornek_Hucre.Font.ColorIndex
DolguRengi = Ornek_Hucre.Interior.ColorIndex
ozellik = "fontrengi= " & FontRengi & " / dolgurengi= " & DolguRengi
End Function
sonu&#231; olarak
Dolgu Rengi Otomatik ve font rengi otomatik ise index de&#287;erlerinin a&#351;a&#287;&#305;daki gibi oldu&#287;unu &#246;&#287;rendim

fontrengi= -4105 / dolgurengi= -4142

Kod:
Function brdrenktopla(Adres As Range, Dolgu_rengi, Font_rengi, islem As Integer)
Dim c As Range
On Error Resume Next
Toplam = 0
If islem = 1 Then
    For Each c In Adres
       If c.Interior.ColorIndex = Dolgu_rengi And c.Font.ColorIndex = Font_rengi And c <> "" Then Toplam = Toplam + c.Value
    Next
End If
brdrenktopla = Toplam
End Function
&#350;imdi Ayn&#305; konu ile ilgili &#252;&#231; sorum var

1) fontrengi= -4105 / dolgurengi= -4142 haricindeki t&#252;m bi&#231;imleri toplama
2a) Ayn&#305; foksiyonu adet olarak sayma (i&#351;lem no=2)
2b) Ayn&#305; foksiyonu ortalamas&#305;n&#305; bulma (i&#351;lem no=3)
4) Kullan&#305;c&#305; tan&#305;ml&#305; fonksiyonlara yard&#305;m ekleme

yani &#351;unu demek istiyorum mesala alttoplam fonksiyonun &#231;al&#305;&#351;t&#305;rd&#305;&#287;&#305;m&#305;zda sol alt k&#246;&#351;ede fonksiyon yard&#305;m&#305; vard&#305;r;
Kod:
ALTTOPLAM
 
Ayr&#305;ca Bkz:

Bir listede veya veritaban&#305;nda bir alt toplam verir. Genellikle Veri men&#252;s&#252;nde Alt Toplamlar komutunu kullanarak alt toplamlar&#305; olan bir liste olu&#351;turmak daha kolayd&#305;r. Alt toplamlar&#305; olan liste bir kez olu&#351;turulduktan sonra, ALTTOPLAM fonksiyonunu d&#252;zenleyerek de&#287;i&#351;tirebilirsiniz.

S&#246;zdizimi

ALTTOPLAM(i&#351;lev_say&#305;s&#305;, ba&#351;v1, ba&#351;v2, ...)

&#304;&#351;lev_say&#305;s&#305;    bir listede alt toplamlar&#305; hesaplamak i&#231;in hangi fonksiyonlar&#305;n kullan&#305;laca&#287;&#305;n&#305; belirleyen 1 ile 11 (gizli de&#287;erleri kapsar) veya 101 ile 111 (gizli de&#287;erleri yok sayar) aras&#305;nda bir say&#305;d&#305;r.

&#304;&#351;lev_say&#305;s&#305;
(gizli de&#287;erleri kapsar) &#304;&#351;lev_say&#305;s&#305;
(gizli de&#287;erleri yok sayar) &#304;&#351;lev 
1 101 ORTALAMA 
2 102 SAY 
3 103 DOLUSAY 
4 104 MAK 
5 105 M&#304;N 
6 106 &#199;ARPIM 
7 107 STDSAPMA 
8 108 STDSAPMAS 
9 109 TOPLA 
10 110 VAR 
11 111 VARS 

Ba&#351;v1, ba&#351;v2,   alt toplam&#305;n&#305; almak istedi&#287;iniz 1 ile 29 aras&#305;ndaki aral&#305;k veya ba&#351;vurudur.

Uyar&#305;lar

Ba&#351;v1, ba&#351;v2,&#8230; i&#231;inde ba&#351;ka alt toplamlar (veya i&#231; i&#231;e girmi&#351; alt toplamlar) varsa, bu i&#231; i&#231;e girmi&#351; alt toplamlar iki kez say&#305;lmay&#305; &#246;nlemek &#252;zere g&#246;zard&#305; edilir. 
1 ile 11 aras&#305;ndaki i&#351;lev_say&#305;s&#305; sabitleri i&#231;in, ALTTOPLAM i&#351;levi, Bi&#231;im men&#252;s&#252;n&#252;n Sat&#305;r alt men&#252;s&#252; alt men&#252;s&#252;ndeki Gizle komutu ile gizlenen sat&#305;rlar&#305;n de&#287;erlerini kapsar. Bir listedeki gizli ve gizlenmemi&#351; say&#305;lar&#305;n alt toplam&#305;n&#305; almak istedi&#287;inizde bu sabitleri kullan&#305;n. 101 ile 111 aras&#305;ndaki i&#351;lev_say&#305;s&#305; sabitleri i&#231;in, ALTTOPLAM i&#351;levi, Bi&#231;im men&#252;s&#252;n&#252;n Sat&#305;r alt men&#252;s&#252; alt men&#252;s&#252;ndeki Gizle komutu ile gizlenen sat&#305;rlar&#305;n de&#287;erlerini yok sayar. Bir listedeki yaln&#305;zca gizlenmemi&#351; say&#305;lar&#305;n alt toplam&#305;n&#305; almak istedi&#287;inizde bu sabitleri kullan&#305;n. 
ALTTOPLAM i&#351;levi, kulland&#305;&#287;&#305;n&#305;z i&#351;lev_say&#305;s&#305; de&#287;erinden ba&#287;&#305;ms&#305;z olarak, bir filtrenin sonucuna dahil edilmeyen t&#252;m sat&#305;rlar&#305; yok sayar.
ALTTOPLAM i&#351;levi, veri s&#252;tunlar&#305; veya dikey aral&#305;klar i&#231;in tasarlanm&#305;&#351;t&#305;r. Veri sat&#305;rlar&#305; veya yatay aral&#305;klar i&#231;in tasarlanmam&#305;&#351;t&#305;r. &#214;rne&#287;in, 101 veya daha b&#252;y&#252;k bir i&#351;lev_say&#305;s&#305; kullanarak yatay bir aral&#305;&#287;&#305;n alt toplam&#305;n&#305; ald&#305;&#287;&#305;n&#305;zda (&#246;rne&#287;in ALTTOPLAM(109,B2:G2)), bir s&#252;tunu gizlemek, alt toplam&#305; etkilemez. Ancak, dikey bir aral&#305;&#287;&#305;n alt toplam&#305;ndaki bir sat&#305;r&#305; gizlemek, alt toplam&#305; etkiler.
Ba&#351;vurulardan biri 3-B ise, ALTTOPLAM, #DE&#286;ER! hata de&#287;eri verir. 
&#214;rnek

&#214;rne&#287;i, bo&#351; &#231;al&#305;&#351;ma sayfas&#305;na kopyalarsan&#305;z anlaman&#305;z daha kolay olabilir.

 Nas&#305;l?

Bo&#351; bir &#231;al&#305;&#351;ma kitab&#305; veya &#231;al&#305;&#351;ma sayfas&#305; olu&#351;turun. 
Yard&#305;m konusundaki &#246;rne&#287;i se&#231;in. Sat&#305;r veya s&#252;tun &#252;stbilgilerini se&#231;meyin.  


Yard&#305;m'dan bir &#246;rnek se&#231;me

CTRL+C tu&#351;lar&#305;na bas&#305;n. 
&#199;al&#305;&#351;ma sayfas&#305;nda, A1 h&#252;cresini se&#231;in ve CTRL+V tu&#351;lar&#305;na bas&#305;n. 
Sonu&#231;lar&#305; g&#246;r&#252;nt&#252;leme ve sonu&#231;lar&#305; d&#246;nd&#252;ren form&#252;lleri g&#246;r&#252;nt&#252;leme aras&#305;nda ge&#231;i&#351; yapmak i&#231;in, CTRL+` (kesme i&#351;areti) tu&#351;lar&#305;na bas&#305;n veya Ara&#231;lar men&#252;s&#252;ndeki Form&#252;l &#304;zleme'yi se&#231;in ve Form&#252;l &#304;zleme Modu'nu t&#305;klat&#305;n. 
   
1 
2 
3 
4 
5 
 A 
Veri 
120 
10 
150 
23 
Form&#252;l A&#231;&#305;klama (Sonu&#231;) 
=ALTTOPLAM(9;A2:A5) TOPLA fonksiyonu kullan&#305;larak yukar&#305;daki s&#252;tunun alt toplam&#305; (303) 
=ALTTOPLAM(1;A2:A5) ORTALAMA fonksiyonu kullan&#305;larak yukar&#305;daki s&#252;tunun alt toplam&#305; (75,75)
olarak a&#231;&#305;klar mesala
i&#351;lev say&#305;s&#305; var 1, toplar/2,dolu h&#252;creleri sayar/3, ortalamas&#305;n&#305; al&#305;r tabi eklenirse 1 haricindekiler neyse
index say&#305;s&#305; var 1 den 56 ya kadar say&#305;lar ve fontrengi otomatik ise -4105 / dolgurengi otomatik ise -4142
toplanrcak aral&#305;k

tan&#305;mlanabilir
YArd&#305;mlar&#305;n&#305;z i&#231;in te&#351;ekk&#252;r ederim
 
Son düzenleme:
Üst