Soru Veri silindiğinde diğer hücreleri temizleme hk.

Katılım
5 Mart 2018
Mesajlar
34
Excel Vers. ve Dili
2016
Merhaba Arkadaşlar

Aşağıdaki formülde C hücresine veri girişi yaptığımda A hücresine sıra numarası, B hücresine tarih atıyor. Ancak C hücresindeki veriyi sildiğim de A ve B hücresindeki veriler öylece kalıyor. Ben istiyorum ki onları da temizlesin ama sıra numarasını tekrar gözden geçirsin.

'FORMÜL 7 - Sayfa7 2 Formülün birleştirilmesi
'Excelde C1 hücresine veri girişi olduğunda A1 hücresine 1000 sayısını, B1 hücresine kayıt yapılan tarihi ve saati yazar(C1:C99).
'Excelde C101 hücresine veri girişi olduğunda A101 hücresine 2000 sayısını, B101 hücresine kayıt yapılan tarihi ve saati yazar(C101:C199).
Private Sub Worksheet_Change(ByVal Target As Range)
If IsEmpty(Target) Or Target.Rows.Count > 1 Or Target.Columns.Count > 1 Then Exit Sub
Dim Rw&, Rs&, Re&, n&
If Intersect(Target, Range("C1:C99,C101:C199")) Is Nothing Then Exit Sub
Select Case Target.Row
Case Is < 100 'C1:C99
n = 1000
Rs = 1
Re = 100
Case Is < 200 'C101:199
n = 2000
Rs = 101
Re = 200
End Select
Target(1, 0) = Format(Now, "dd.mm.yyyy hh:mm")
For Rw = Rs To Cells(Re, 3).End(3).Row
If Not IsEmpty(Cells(Rw, 3)) Then: n = n + 1: Cells(Rw, 1) = n
Next Rw
End Sub
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Select Case satırından önce

If target = "" then
target.offset(0,-1) = ""
target.offset(0,-2) = ""
Exit Sub
End if


satırlarını ekleyip dener misiniz?
 
Katılım
5 Mart 2018
Mesajlar
34
Excel Vers. ve Dili
2016
Olmadı Hocam.

'FORMÜL 7 - Sayfa7 2 Formülün birleştirilmesi
'Excelde C1 hücresine veri girişi olduğunda A1 hücresine 1000 sayısını, B1 hücresine kayıt yapılan tarihi ve saati yazar(C1:C99).
'Excelde C101 hücresine veri girişi olduğunda A101 hücresine 2000 sayısını, B101 hücresine kayıt yapılan tarihi ve saati yazar(C101:C199).
Private Sub Worksheet_Change(ByVal Target As Range)
If IsEmpty(Target) Or Target.Rows.Count > 1 Or Target.Columns.Count > 1 Then Exit Sub
Dim Rw&, Rs&, Re&, n&
If Intersect(Target, Range("C1:C99,C101:C199")) Is Nothing Then Exit Sub
If Target = "" Then
Target.Offset(0, -1) = ""
Target.Offset(0, -2) = ""
Exit Sub
End If
Select Case Target.Row
Case Is < 100 'C1:C99
n = 1000
Rs = 1
Re = 100
Case Is < 200 'C101:199
n = 2000
Rs = 101
Re = 200
End Select
Target(1, 0) = Format(Now, "dd.mm.yyyy hh:mm")
For Rw = Rs To Cells(Re, 3).End(3).Row
If Not IsEmpty(Cells(Rw, 3)) Then: n = n + 1: Cells(Rw, 1) = n
Next Rw
End Sub
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Örnek dosya paylaşır mısınız? Bu vesileyle hatırlatayım, lütfen sorularınızda örnek excel dosyası paylaşmaya özen gösterin ki çözümümüzün o dosyada çalışıp çalışmadığını görebilelim.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Isempty ile boş olduğunda makrodan çık komutu verildiğinden verdiğim kod işe yaramıyor.

If Target.Rows.Count > 1 Or Target.Columns.Count > 1 Then Exit Sub

Şeklinde kullanın.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Dosyanızda Isempty(target) or kısmını sildikten sonra örneğin C sütunundaki yan tarafı dolu olan herhangi bir hücrede Delete tuşuna bastığımda (mesela C2) A ve B sütunlarındaki veriler de silindi (A2 ve B2).

Silme işlemini nasıl yapıyorsunuz?
 
Katılım
5 Mart 2018
Mesajlar
34
Excel Vers. ve Dili
2016
Dosyanızda Isempty(target) or kısmını sildikten sonra örneğin C sütunundaki yan tarafı dolu olan herhangi bir hücrede Delete tuşuna bastığımda (mesela C2) A ve B sütunlarındaki veriler de silindi (A2 ve B2).

Silme işlemini nasıl yapıyorsunuz?
Dediğinizi şimdi anladım ve sorun ortadan kalktı Yusuf Bey. Yardımlarınız için çok teşekkür ederim. :)
 
Üst