• DİKKAT

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

Değer Girince Diğer Sütundaki Değer Silinsin

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,543
Excel Vers. ve Dili
2021 LTSC TR
Hayırlı Sabahlar.
Kandiliniz Mübarek Olsun.

Değerli Arkadaşlar

D4 : 16 sütun aralığında değer var.
F4:F16 sütun arasına değer girilince D4: 16 arasında ki değer silinsin istiyorum. Yardımcı olabilir misiniz?

Örnek:

F5 hücresine veri girişi yapılınca D5 hücresinde ki veri silinsin.
F15 hücresine veri girişi yapılınca D15 hücresinde ki veri silinsin.

Yardımınız için Teşekkür eder saygılarımı sunarım.
 
Teşekkür ederim.Sizinde kandiliniz mübarek olsun.Sayfa kodu olarak kopyalayınız.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [F4:F16]) Is Nothing Then Exit Sub
If Cells(Target.Row, "F") <> "" Then
Cells(Target.Row, "D") = ""
End If
End Sub
 
Sayfanın kod bölümüne yapıştırıp deneyiniz:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [D4:D16]) Is Nothing Then Exit Sub
Target.Offset(0, 2) = ""
End Sub
 
Özür dileyerek ve affınıza sığınarak makro konusunda bir ricada bulunabilir miyim?
İlk mesajımda
F5 hücresine veri girişi yapılınca D5 hücresinde ki veri silinsin.
F15 hücresine veri girişi yapılınca D15 hücresinde ki veri silinsin. diye belirtmiştim. Lakin idare tarafından bir değişiklik istendi.

F5 hücresine veri girişi D5 hücresinde ki veri ile aynı ise silinsin, Değil ise farkını yazsın.
Örnek
D5 hücresinde 15000 yazıyor. F5 hücresine 15000 girilirse D5 hücresi silinsin.
Eğer ki;
D5 hücresinde 15000 yazıyor. F5 hücresine 12500 girilirse D5 hücresine 2500 yazsın.
 
Aşağıdaki gibi dener misiniz?

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [F4:F16]) Is Nothing Then Exit Sub
If Target = Target.Offset(0, -2) Then
    Target.Offset(0, -2) = ""
Else
    Target.Offset(0, -2) = Target.Offset(0, -2) - Target
End If
End Sub
 
Yusuf Hocam cevaplamış.Bende yazayım.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [F4:F16]) Is Nothing Then Exit Sub
If Cells(Target.Row, "D") = Cells(Target.Row, "F") Then
Cells(Target.Row, "D") = ""
Else
Cells(Target.Row, "D") = Cells(Target.Row, "D") - Cells(Target.Row, "F")
End If
End Sub
 
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [F4:F16]) Is Nothing Then Exit Sub
If Cells(Target.Row, "D") = Cells(Target.Row, "F") Then
Cells(Target.Row, "D") = ""
Else
Cells(Target.Row, "D") = Cells(Target.Row, "D") - Cells(Target.Row, "F")
End If
End Sub

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [H4:H16]) Is Nothing Then Exit Sub
If Cells(Target.Row, "D") = Cells(Target.Row, "H") Then
Cells(Target.Row, "D") = ""
Else
Cells(Target.Row, "D") = Cells(Target.Row, "D") - Cells(Target.Row, "H")
End If
End Sub

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [J4:J16]) Is Nothing Then Exit Sub
If Cells(Target.Row, "D") = Cells(Target.Row, "J") Then
Cells(Target.Row, "D") = ""
Else
Cells(Target.Row, "D") = Cells(Target.Row, "D") - Cells(Target.Row, "J")
End If
End Sub

üç kodun birleşmesi için yardımcı olabilir misiniz?
 
Aşağıdaki kodu deneyiniz:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [F4:F16]) Is Nothing Then GoTo 10
If Cells(Target.Row, "D") = Cells(Target.Row, "F") Then
Cells(Target.Row, "D") = ""
Else
Cells(Target.Row, "D") = Cells(Target.Row, "D") - Cells(Target.Row, "F")
End If

10:
If Intersect(Target, [H4:H16]) Is Nothing Then GoTo 20
If Cells(Target.Row, "D") = Cells(Target.Row, "H") Then
Cells(Target.Row, "D") = ""
Else
Cells(Target.Row, "D") = Cells(Target.Row, "D") - Cells(Target.Row, "H")
End If

20:
If Intersect(Target, [J4:J16]) Is Nothing Then Exit Sub
If Cells(Target.Row, "D") = Cells(Target.Row, "J") Then
Cells(Target.Row, "D") = ""
Else
Cells(Target.Row, "D") = Cells(Target.Row, "D") - Cells(Target.Row, "J")
End If
End Sub
 
Yusuf Hocam
Çok çok Teşekkür Ederim. Sağ Olasın.
 
Geri
Üst