DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Merhaba.
Belirlenen şartlara bağlı değer say makrosunu nasıl yazabiliriz? Örnek dosyayı ekledim.
Sub sayalım()
Dim i As Long
Dim a As Integer
i = Cells(65536, "C").End(xlUp).Row
For a = 5 To i
Cells(a, "BC") = WorksheetFunction.CountA(Range("E" & a & ":" & "BB" & a))
Next a
End Sub
Option Compare Text
Sub bUlSay()
Dim i As Long, son As Long
Dim a As Integer, b As Integer, c As Integer, ilk As Integer
Dim Wf
a = Range("A1").Value
b = Range("B1").Value
c = Range("C1").Value
If a + b + c > 50 Then
MsgBox "Kontrol Sayılarını Gözden Geçirin"
Exit Sub
End If
Set Wf = WorksheetFunction
son = Cells(Rows.Count, "A").End(xlUp).Row
ilk = 5
Range("BB5:BF" & son).ClearContents
For i = ilk To son
If Range("A1") <> "" Then Cells(i, "BD") = Wf.CountIf(Range(Cells(i, ilk), _
Cells(i, a + ilk - 1)), "d")
If Range("B1") <> "" Then Cells(i, "BE") = Wf.CountIf(Range(Cells(i, ilk + a), _
Cells(i, a + b + ilk - 1)), "d")
If Range("C1") <> "" Then Cells(i, "BF") = Wf.CountIf(Range(Cells(i, ilk + a + b), _
Cells(i, a + b + c + ilk - 1)), "d")
Next i
End Sub
Option Explicit
Sub HESAPLA()
Dim X As Long, Y As Byte, İlk_Sütun As Byte, Son_Sütun As Byte
Range("BD5:BF" & Rows.Count).ClearContents
If WorksheetFunction.Sum(Range("BD3:BF3")) > 50 Then
MsgBox "Girdiğiniz değerlerin toplamı 50 değerinden büyüktür !" & Chr(10) & _
"Lütfen kontrol ediniz !", vbCritical
Exit Sub
End If
For X = 5 To Cells(Rows.Count, 1).End(3).Row
İlk_Sütun = 5
If Cells(X, 3) <> "" Then
For Y = 56 To 58
Son_Sütun = İlk_Sütun + Cells(3, Y) - 1
Cells(X, Y) = WorksheetFunction.CountIf(Range(Cells(X, İlk_Sütun), Cells(X, Son_Sütun)), "D")
If Cells(X, Y) = 0 Then Cells(X, Y) = ""
İlk_Sütun = Son_Sütun + 1
Next
End If
Next
MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
=EĞER(YADA(TOPLA($A$1:$C$1)>50;A5="";$A$1="");"";
EĞERSAY(KAYDIR($E5;;;;$A$1);"d"))
=EĞER(YADA(TOPLA($A$1:$C$1)>50;A5="";$A$1="");"";
EĞERSAY(KAYDIR($E5;;$A$1;;$B$1);"d"))
=EĞER(YADA(TOPLA($A$1:$C$1)>50;A5="";$A$1="");"";
EĞERSAY(KAYDIR($E5;;$A$1+$B$1;;$C$1);"d"))