• DİKKAT

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

veri girilerek çalışan kodun kopyala yapıştırda da çalışması.

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,677
Excel Vers. ve Dili
Excel 2010 32 bit
Aşağıdaki kırmızı puntolu olan kodumuz veriler tek tek girildiğinde çalışıyor.
Yani a2:g arasına herhangi bir değer girdiğimizde f2-g2 işlemi gerçekleşiyor.
İsteğim ;
Bu kodumuz veriler yukarıdan aşağıya sürüklenerek çoğaltıldığında da çalışsın.
Bunun için nasıl bir düzenleme gerekiyor.
Çok teşekkür ederim.
Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo son
If Intersect(Target, Range("a2:G" & Rows.Count)) Is Nothing Then Exit Sub

With Target
Cells(.Row, "H") = "=F" & .Row & "-G" & .Row & ""
End With






If Intersect(Target, [G:G]) Is Nothing Then Exit Sub
If Target.Value = "" Then
Target.Offset(0, 2) = ""
Target.Offset(0, 4) = ""
Target.Offset(0, 5) = ""

Else
If Target.Offset(0, 2) = "" Then Target.Offset(0, 2) = Date
If Target.Offset(0, 4) = "" Then Target.Offset(0, 4) = "TAHSİLAT"
If Target.Offset(0, 5) = "" Then Target.Offset(0, 5) = "SATIŞ-TAKSİT"
End If
son:

End Sub
 
Merhaba arkadaşlar,
kodumuzu kopyala yapıştır ile çalıştırmak mümkün değilse şöyle bir mantıkla revize edebilirmiyiz.
Şöyleki;
A sutununda değer varsa H = F-G işlemini yaptırabilirmiyiz?
""Yani anladığım kadarı ile kodun aşağıdaki ksımını""
Cells(.Row, "H") = "=F" & .Row & "-G" & .Row & ""
Teşekkür ederim.
 
Merhaba,

Bu şekilde deneyin.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 
    Dim i As Long
 
    On Error GoTo son
    If Intersect(Target, [A:G]) Is Nothing Then Exit Sub
 
    With Target
 
        If .Row < 2 Then Exit Sub
 
        If .Column = 1 Then
            Selection.Offset(0, 7).ClearContents
            If Selection.Count = 1 Then
                Cells(.Row, "H") = "=F" & .Row & "-G" & .Row & ""
            Else
                For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row
                    If Cells(i, "A") <> "" Then
                        Cells(i, "H") = "=F" & i & "-G" & i & ""
                    End If
                Next i
            End If
        End If
 
        If .Column = 7 Then
            If .Value = "" Then
                .Offset(0, 2) = ""
                .Offset(0, 4) = ""
                .Offset(0, 5) = ""
            Else
                If .Offset(0, 2) = "" Then .Offset(0, 2) = Date
                If .Offset(0, 4) = "" Then .Offset(0, 4) = "TAHSİLAT"
                If .Offset(0, 5) = "" Then .Offset(0, 5) = "SATIŞ-TAKSİT"
            End If
        End If
 
    End With
son:
 
End Sub
.
 
Ömer bey,
Her zamanki gibi süpperrr.
İşiniz rast gitsin.
Selametle kalın.
 
Geri
Üst