• Merhaba Ziyaretçi,
    Microsoft 365 Uygulamaları ile ilgili yeni haberler, dikkat çekici konular, ilgi ile takip edeceğiniz yazılar için.

    Abone Olun
  • ESTE - Microsoft Office Eğitimleri

    Yeni yıl Microsoft Office Eğitim planlarınız için bütçenizi oluşturmadan önce ESTE eğitim kalitesi ile tanışın. 🙌
    Kullanıcıların ihtiyacı olan yazılı materyal, dosya ve video kaynağı desteğimiz ile tüm ofis çalışanlarının iş süreçlerini rahatlatacak eğitimler planlayın. 🎯
    Microsoft Office eğitimlerimiz hakkında detaylı bilgi için bize ulaşın.

    👉 Microsoft Office Eğitim Talebi

Çözüldü Toplamı Sıfır olan satırların silinmesi

mithdreamer

Yeni Üye
Katılım
26 Şub 2021
Mesajlar
10
En iyi yanıt
0
Puanları
1
Yaş
42
Konum
İzmir
Ad Soyad
Korhan Örs
Office Vers.
2016
Merhabalar. ekte yer alan excel dosyasında sarı ile işaretlediğim hücrelerin toplamı sıfır ise yazılacak formül veya makro kodu ile bu satırın tamamının silinmesini nasıl sağlayabilirim. Amacım 1. sayfada yer alan C ve F sütunları arasındaki satır değerlerinin toplamı sıfırsa yani o ay içinde hiç bir işlem görmemiş başlangıç stoğu yoksa üretilmemişse satışı gerçekleşmemişse o satırın silinmesini nasıl sağlayabilirim?

Teşekkürler
 

Ekli dosyalar

  • Toplamı Sıfır olan satırların silinmesi.xlsx
    10.9 KB · Görüntüleme: 3

muygun

Uzman
Katılım
19 Ağu 2018
Mesajlar
440
En iyi yanıt
29
Puanları
43
Konum
Excel 2003
Ad Soyad
Mustafa UYGUN
Office Vers.
Office 2003
Merhaba;
Ekteki gibi olabilir.
Deneyin.
İyi çalışmalar.
 

Ekli dosyalar

  • mithdreamer-Toplamı Sıfır olan satırların silinmesi.zip
    12.6 KB · Görüntüleme: 5

mithdreamer

Yeni Üye
Katılım
26 Şub 2021
Mesajlar
10
En iyi yanıt
0
Puanları
1
Yaş
42
Konum
İzmir
Ad Soyad
Korhan Örs
Office Vers.
2016
Elinize sağlık çok güzel çalışıyor program sadece daha geniş bir dosyaya uygulayabilmek için makrodaki adımların üzerinden geçebilir misiniz rica etsem. Özellikle buradaki kasıt nedir?


For k = 1 To 8
s2.Cells(sonsatir, k) = Cells(i, k)
Next k
 

muygun

Uzman
Katılım
19 Ağu 2018
Mesajlar
440
En iyi yanıt
29
Puanları
43
Konum
Excel 2003
Ad Soyad
Mustafa UYGUN
Office Vers.
Office 2003
Merhaba;

Sub sill()
Application.ScreenUpdating = False 'yapılan işlemi ekranda gösterme
On Error Resume Next ' hatadan sonra devam et
Set s2 = ThisWorkbook.Worksheets("silinenler") 'silinenler sayfasını s2 değişkeni olarak tanımla
sonsat = Range("A65536").End(xlUp).Row 'bu sayfadaki sonsatır no'sunu bul
For i = sonsat To 3 Step -1 ' son satır nosundan 3. satıra kadar 1 satır eksilterek ters döngü kur
If WorksheetFunction.Sum(Range("c" & i & ":f" & i)) = 0 Then ' döngü nosuna bağlı satırda C:F aralığı toplamı sıfıra eşitse;
sonsatir = s2.Range("A65536").End(xlUp).Row + 1 ' silinenler sayfasında son dolu satır nosunu bul ve 1 ekleyerek boş satır nosunu belirle
For k = 1 To 8 ' k değişkenini 1 den 8 e kadar döndür
s2.Cells(sonsatir, k) = Cells(i, k) ' silinenler sayfasında sonsatır noya k sütun numarasına göre verileri yaz
Next k ' döngü sonu
Rows(i).Delete shift:=xlUp ' bu sayfada i değişken nolu satırı sil
End If ' şart sonu
Next i 'döngü sonu
Application.ScreenUpdating = True 'yapılan işlemi ekranda gösterme durumunu normale çevir
MsgBox "İşlem TAMAM.", vbInformation ' işlem bitti mesajı ver
End Sub 'makroyu sonlandır

Kullanılan makronun satır satır açıklamasını baskılı yazıyla her satırda belirttim.
Bilindiği gibi makro ile silme işleminde geri dönüş olmaz.
İsteğiniz olmadığı halde hatalı bir silme işleminin telafisi için silinenler sayfası oluşturdum ve silme işleminden önce silinen 8 sütunu bu sayfaya yazdırdım.
gerekli görmezseniz kodlarda;

Set s2 = ThisWorkbook.Worksheets("silinenler")
sonsatir = s2.Range("A65536").End(xlUp).Row + 1
For k = 1 To 8
s2.Cells(sonsatir, k) = Cells(i, k)
Next k

Satırlarını silin.
İyi çalışmalar.
3. mesajda belirttiğiniz 3 satırı silin.
 

mithdreamer

Yeni Üye
Katılım
26 Şub 2021
Mesajlar
10
En iyi yanıt
0
Puanları
1
Yaş
42
Konum
İzmir
Ad Soyad
Korhan Örs
Office Vers.
2016
Merhabalar. Detaylı açıklamanız için çok teşekkür ederim. Bu şekilde açıklama olunca çok iyi oldu. Umarım ben de bir gün bu seviyeye gelebilirim.
 

mithdreamer

Yeni Üye
Katılım
26 Şub 2021
Mesajlar
10
En iyi yanıt
0
Puanları
1
Yaş
42
Konum
İzmir
Ad Soyad
Korhan Örs
Office Vers.
2016
Çok kısa bir soru daha sorabilir miyim. eğer toplamı değil de c sütunundaki e sütunundaki g sütunundaki değerlerin 0 olmasına bağlı bir şartım olsaydı. sadece aşağıdaki satırda bununla ilgili değişiklik yapılarak çözülür müydü? yoksa farklı kodlara da mı ihtiyacımız olacaktı?


If WorksheetFunction.Sum(Range("c" & i & ":f" & i)) = 0 Then

2. sorum da şu şekilde olacak belli bir aralığı değil de belli sütunların içindeki değerlerin toplamının sıfır olmasını isteseydim. atıyorum c e ve f sütunları. o zaman nasıl bir kod uygulamak gerekecekti?
Kusura bakmayın. Kısa soru soracağım derken biraz fazla sormuş oldum ama
 

muygun

Uzman
Katılım
19 Ağu 2018
Mesajlar
440
En iyi yanıt
29
Puanları
43
Konum
Excel 2003
Ad Soyad
Mustafa UYGUN
Office Vers.
Office 2003
Merhaba;
If WorksheetFunction.Sum(Range("c" & i & ":f" & i)) = 0 Then
satırı yerine;

if cells(i,"c")+cells(i,"e")+cells(i,"f")=0 then

satırını uygulayın.
İyi çalışmalar.
 
Üst Alt