• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Şarta bağlı toplam sayı alma

neseterkutsesli

Altın Üye
Katılım
12 Ağustos 2011
Mesajlar
382
Excel Vers. ve Dili
Microsoft Office 2019
Windows 11 Home Single Language
Altın Üyelik Bitiş Tarihi
05-01-2028
Merhaba
B sütünun'da koyu olan tedarikçilerin sayısını formül yada makro yolu ile öğrenebilirmiyim
 

Ekli dosyalar

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,751
Excel Vers. ve Dili
2021 Türkçe
Merhaba.
Bir modüle kopyalayıp çalıştırın.
Kod:
Sub Test()

    Dim SonSatir As Long
    Dim KoyuSay As Long
    Dim Alan As Range
    SonSatir = Cells(Rows.Count, "B").End(xlUp).Row
    KoyuSay = 0
    For Each Alan In Range("B2:B" & SonSatir)
        If Alan.Value <> "" Then
            If Alan.Font.Bold = True Then
                KoyuSay = KoyuSay + 1
            End If
        End If
    Next Alan
    MsgBox "Koyu hücre sayısı: " & KoyuSay
End Sub
 

Ali

Özel Üye
Katılım
21 Temmuz 2005
Mesajlar
8,009
Excel Vers. ve Dili
Office 365 Türkçe
Kod:
Function BoldSay(sutun As Range) As Long
    Dim hucre As Range
    For Each hucre In sutun
        If hucre.Font.Bold = True And hucre.Value <> "" Then
            BoldSay = BoldSay + 1
        End If
    Next hucre
End Function
Sonuç göreceğiniz hücreye

Kod:
=BoldSay(B2:B500)
yazın.
 

neseterkutsesli

Altın Üye
Katılım
12 Ağustos 2011
Mesajlar
382
Excel Vers. ve Dili
Microsoft Office 2019
Windows 11 Home Single Language
Altın Üyelik Bitiş Tarihi
05-01-2028
teşekkür ederim çok sağolun.
 

neseterkutsesli

Altın Üye
Katılım
12 Ağustos 2011
Mesajlar
382
Excel Vers. ve Dili
Microsoft Office 2019
Windows 11 Home Single Language
Altın Üyelik Bitiş Tarihi
05-01-2028
Muazaffer Hocam,
ek olarak toplam 373 tedarikçi var koyu renk ise 8 satır üzerinde eklemeler olabiliyor yine tüm satırı baz alabiliriz
tıkladığımda 8/373 olarak sonuç almak istiyorum bunu koda yazabilirmiyiz.
 

neseterkutsesli

Altın Üye
Katılım
12 Ağustos 2011
Mesajlar
382
Excel Vers. ve Dili
Microsoft Office 2019
Windows 11 Home Single Language
Altın Üyelik Bitiş Tarihi
05-01-2028
B sütununda toplam 373 tedarikçi var kalın dolgu olan 8 tedarikçi var makro kodunu içine 8/373 olacak şekilde kod revize edebilirmiyiz
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,751
Excel Vers. ve Dili
2021 Türkçe
Örnek dosyada 8 değil 16 tane Kalın metin var.
Buna göre 16/373 oluyor.

Aşağıdaki kodu deneyin.
Kod:
Sub Test()

    Dim SonSatir As Long
    Dim KoyuSay As Long
    Dim Alan As Range
    SonSatir = Cells(Rows.Count, "B").End(xlUp).Row
    KoyuSay = 0
    For Each Alan In Range("B2:B" & SonSatir)
        If Alan.Value <> "" Then
            If Alan.Font.Bold = True Then
                KoyuSay = KoyuSay + 1
            End If
        End If
    Next Alan
    MsgBox "Kalın metin sayısı: " & KoyuSay & vbLf & "Tedarikçi Sayısı: " & (SonSatir - 1) & vbLf & "Bölme sonucu: " & KoyuSay / (SonSatir - 1)
End Sub
 

Ali

Özel Üye
Katılım
21 Temmuz 2005
Mesajlar
8,009
Excel Vers. ve Dili
Office 365 Türkçe
B sütununda toplam 373 tedarikçi var kalın dolgu olan 8 tedarikçi var makro kodunu içine 8/373 olacak şekilde kod revize edebilirmiyiz
Başkaları da faydalanır sizin pek ilginiz çekmedi sanırım.

Kod:
Function BoldToplamKesir(rng As Range) As String
    Dim c As Range
    Dim boldN As Long
    Dim totalN As Long

    For Each c In rng
         If Len(Trim(CStr(c.Value))) > 0 Then
            totalN = totalN + 1
          
            If c.Font.Bold = True Then
                boldN = boldN + 1
            End If
        End If
    Next c

    If totalN = 0 Then
        BoldToplamKesir = "0/0"
    Else
        BoldToplamKesir = boldN & "/" & totalN
    End If
End Function
Formül aşağıdaki gibi kullanılır.

Kod:
=BoldToplamKesir(B2:B500)
 
Son düzenleme:

neseterkutsesli

Altın Üye
Katılım
12 Ağustos 2011
Mesajlar
382
Excel Vers. ve Dili
Microsoft Office 2019
Windows 11 Home Single Language
Altın Üyelik Bitiş Tarihi
05-01-2028
Muzaffer hocam teşekkür ederim,
Ali hocam ilginize emeğinize sağlık verdiğiniz kodu kopyaladım ama çalıştıramadım vba'da biraz acemiyim dosyayı ekleyip gönderebilirseniz memnun olurum iyi çalışmalar dilerim.
 
Üst