• DİKKAT

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

Formüllü hücrelerin alt satırlara geçmesi

Aşağıdaki kodları ilgili sayfanın kod bölümüne yapıştırırsanız A, B ve C sütunlarına veri girdikçe D, E ve F sütunlarında formülle yaptığınız işi makroyla yapar ve sonucunu yazar:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A4:C4000")) Is Nothing Then Exit Sub
a = Target.Row
Cells(a, "D") = Cells(a, "A") & " " & Cells(a, "B")
Cells(a, "E") = WorksheetFunction.CountIf(Range("D:D"), Cells(a, "D"))
If Cells(a, "E") = 1 Then
    Cells(a, "F") = "YENİ MÜŞTERİ"
Else
    Cells(a, "F") = "KAYITLI MÜŞTERİ"
End If

End Sub
 
KAYITLI MÜŞTERİ değil HATALI KAYIT olacakmış:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A4:C4000")) Is Nothing Then Exit Sub
a = Target.Row
Cells(a, "D") = Cells(a, "A") & " " & Cells(a, "B")
Cells(a, "E") = WorksheetFunction.CountIf(Range("D:D"), Cells(a, "D"))
If Cells(a, "E") = 1 Then
    Cells(a, "F") = "YENİ MÜŞTERİ"
Else
    Cells(a, "F") = "HATALI KAYIT"
End If

End Sub

Ben orda o formülleri görmek istiyorum diyorsanız şöyle kullanabilirsiniz:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A4:C4000")) Is Nothing Then Exit Sub
a = Target.Row

    Cells(a, "D").FormulaR1C1 = "=RC[-3]&"" ""&RC[-2]"
    Cells(a, "E").FormulaR1C1 = "=COUNTIF(C4,C[-1])"
    Cells(a, "F").FormulaR1C1 = "=IF(RC[-1]=1,""YENİ MÜŞTERİ"",""HATALI KAYIT"")"
End Sub
 
Hocam çok teşekkür ederim yardımların için fakat kod bölümüne kaydettiğimde hiç bir değişiklik olmadı, nerede hata yapıyor olabilirim?


KAYITLI MÜŞTERİ değil HATALI KAYIT olacakmış:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A4:C4000")) Is Nothing Then Exit Sub
a = Target.Row
Cells(a, "D") = Cells(a, "A") & " " & Cells(a, "B")
Cells(a, "E") = WorksheetFunction.CountIf(Range("D:D"), Cells(a, "D"))
If Cells(a, "E") = 1 Then
    Cells(a, "F") = "YENİ MÜŞTERİ"
Else
    Cells(a, "F") = "HATALI KAYIT"
End If

End Sub

Ben orda o formülleri görmek istiyorum diyorsanız şöyle kullanabilirsiniz:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("A4:C4000")) Is Nothing Then Exit Sub
a = Target.Row

    Cells(a, "D").FormulaR1C1 = "=RC[-3]&"" ""&RC[-2]"
    Cells(a, "E").FormulaR1C1 = "=COUNTIF(C4,C[-1])"
    Cells(a, "F").FormulaR1C1 = "=IF(RC[-1]=1,""YENİ MÜŞTERİ"",""HATALI KAYIT"")"
End Sub
 
A, B ya da C sütunlarına (4. satırdan itibaren) veri girmeyi denediniz mi?
 
Geri
Üst