renkli hücreleri toplama

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,641
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Kod:
Sub renkli_topla()
Dim say As Byte
For say = 1 To 10
If Cells(say, 1).Font.ColorIndex = 3 Then
MsgBox WorksheetFunction.Sum(Range("a" & say))
End If
Next say
End Sub
ekteki sayfada a1'den a10 kadar olan bölgede kırmızı renkli hücreleri toplatmak istiyorum ama çalıştırınca toplama işlemi yerine kırmızı olan hücreleri gösteriyor.

birde aynı işlemi for each döngüsü ile nasıl yapabiliriz

not:konuyu yanlış yere açmışım, makrolar bölümüne taşıyabilirmisiniz
 

Ekli dosyalar

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,571
Excel Vers. ve Dili
Microsoft 365- Türkçe
Merhaba

Kodlarınızın arasında for each ile ilgili bir örnek vardı onu revize ettim.
Kod:
Sub deneme6()
Dim say As Range, sonuc As Long
For Each say In Range("a1:a10")
If say.Font.ColorIndex = 3 Then
sonuc = sonuc + say.Value
End If
Next say
MsgBox sonuc
End Sub
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,641
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Merhaba

Kodlarınızın arasında for each ile ilgili bir örnek vardı onu revize ettim.
Kod:
Sub deneme6()
Dim say As Range, sonuc As Long
For Each say In Range("a1:a10")
If say.Font.ColorIndex = 3 Then
sonuc = sonuc + say.Value
End If
Next say
MsgBox sonuc
End Sub
teşekkür ederim işimi gördü
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,641
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
for next'le nasıl yaptırabiliriz

renkli hücreleri buluyor ama toplamıyor
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,571
Excel Vers. ve Dili
Microsoft 365- Türkçe
Tekrar Merhaba
For next ile bir örnek;
Kod:
Sub deneme()
Dim i As Byte, sonuc As Long
For i = 1 To 10
If Cells(i, 1).Font.ColorIndex = 3 Then
sonuc = sonuc + Cells(i, 1).Value
End If
Next
MsgBox sonuc
End Sub
 

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,641
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Tekrar Merhaba
For next ile bir örnek;
Kod:
Sub deneme()
Dim i As Byte, sonuc As Long
For i = 1 To 10
If Cells(i, 1).Font.ColorIndex = 3 Then
sonuc = sonuc + Cells(i, 1).Value
End If
Next
MsgBox sonuc
End Sub
for each ile aynı mantıkta olmuş

tek değişken ile olmuyor onu anladım
 
Üst