• DİKKAT

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

Sadece İlk İşlemi Yapsın

Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Merhaba Arkadaşlar,

Aşağıdaki kodu uyguluyorum. Yani B-C-D-E sütunlarına bir veri girildiğinde 1 sağındaki sütuna x 2 olarak kaydetsin diye. İlk işlemi güzel yapıyor ama şöyle bir sorun oluyor.
Diyelim B sütununa 100 yazdım. Kod C sütuna 200 yazıyor ama bu işlem D sütuna 400, E sütununa 800 olarak devam ediyor !

İstediğim sadece ilk işlemi olması ve diğer hücreleri tetiklememesi. Bunu nasıl yapmak lazım acaba ?

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column > 2 Then
If Target.Column < 5 Then
Target.Offset(0, 1) = Target.Offset(0, 0) * 2
End If
End If
End Sub
 
Merhaba,

Aşağıdaki gibi dener misiniz?

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Column > 1 And Target.Column < 5 Then
        Application.EnableEvents = False
        Target.Offset(0, 1) = Target.Value * 2
        Application.EnableEvents = True
    End If
    
End Sub
 
Necdet üstadım, peki 2 yerine C sütunundaki rakamla çarpmasını istesek nasıl yazmamız lazım ?
RC[5) yaptım olmadı :(
 
Necdet üstadım, peki 2 yerine C sütunundaki rakamla çarpmasını istesek nasıl yazmamız lazım ?
RC[5) yaptım olmadı :(

Peki C sütununda giriş olacaksa ne olacak? kodlar B, C ve D sütununda çalışıyor. Bu durumda C sütununda değişiklik olduğunda C nin karesini alacaktır. Doğru mu?

Kod şu halini alır.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

    If Intersect(Target, [B:D]) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    Target.Offset(0, 1) = Target.Value * Cells(Target.Row, "C")
    Application.EnableEvents = True
    
End Sub
 
Geri
Üst