Sıfır değerli hücrelerdeki sıfırları silmek

Katılım
20 Eylül 2005
Mesajlar
216
Excel Vers. ve Dili
Excel 2003 Türkçe
Sıfırlar yüzünden dosya boyutu büyüyor.
Formüller uzun ve çok. Formülleri kod sayfasında yazıp çoğaltıyorum. Sonra kod ile değerlerini yapıştırıyorum. Böylece dosya boyutunu bir miktar küçültüyorum. Sıfırları silsem daha da küçülecek.
Ctrl+G ile sıfır değerli hücreleri toplu seçip silemedim.
Döngü kullanmak istemiyorum. Çünkü yavaş çalışıyor.
Yardımlarınızı bekliyorum.
 
Katılım
1 Şubat 2007
Mesajlar
516
Excel Vers. ve Dili
excel2003
Slm Hocam
Sorunuza cevap veremeyecem sizin bir okul programınız vardı bir türlü çalıştıramadım mesela sınıf listesinden öğrenci seçtiğim zaman kod bölümünde hata gösteriyor. Saygılar
 
Katılım
20 Eylül 2005
Mesajlar
216
Excel Vers. ve Dili
Excel 2003 Türkçe
Öğrenci Proğramı

orkaosmaniye@hotmail.com
üzerinden sorununuzu çözmeye çalışalım.
Office proğramı eksiksiz yüklendiyse herhangi bir sorun çıkmıyor. Çünkü çok sayıda kullanıcısı var. Böyle bir sorun iletilmedi. Office 2007'de çalıştırmadığım için onda sorun çıkıyor mu bilmiyorum.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,598
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Örnek bir dosya eklermisiniz.
 
Katılım
20 Eylül 2005
Mesajlar
216
Excel Vers. ve Dili
Excel 2003 Türkçe
Örnek Dosyada, C sütuna Miktarı girildiğinde veya değiştirildiğinde Makro çalışıyor. D ve E Sütunlarında Fiyatı ve Alacak tutarı Makro ile hesaplanıyor. Sonra değerleri yapıştırılarak formülden kurtarılıyor. Bu arada değeri sıfır olan yüzlerce hücre oluşuyor. Bu sıfırları silerek dosyanın boyutunu azaltmak istiyorum. Parola:123
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,598
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Sanırım bu işlemi döngü kullanmadan yapamayız. Dosyanızda kullandığınız formülleri kopyalama işlemi boş olan satırlarıda kapsıyor. Sıfırlar bu yüzden çıkıyor. Bu işlemi en son dolu olan satıra kadar yaparsak sorunu çözmüş oluruz. Sayfanızın kod bölümündeki Private Sub Worksheet_Change(ByVal Target As Range) başlığı altındaki kodu aşağıdaki şekilde değiştirip denermisiniz. Umarım faydası olur.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    ActiveSheet.Unprotect Password:="123"
    If Target.Column = 3 Then
    Son = [A65536].End(3).Row
    Range("D5:D" & Son).Formula = "=IF(B5=0,0,VLOOKUP(B5,'C'!$A$2:$B$65536,2,FALSE))"
    Range("E5:E" & Son).Formula = "=C5*D5"
    Range("D5:E" & Son).Value = Range("D5:E" & Son).Value
    Range("E3").Formula = "=SUM(E5:E180)"
    Range("F3").Formula = "=SUMIF(F5:F180,""=X"",E5:E180)-SUM(G5:G180)"
    Range("G3").Formula = "=E3-F3"
    Target.Offset(1, 0).Select
    End If
    ActiveSheet.Protect Password:="123"
End Sub
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Makrosuz Çözüm :

Düzen > Değiştir > Aranan : 0 > Yeni Değer : Boş(bir şey yazılmayacak) > Tümünü Değiştir.
 
Katılım
20 Eylül 2005
Mesajlar
216
Excel Vers. ve Dili
Excel 2003 Türkçe
Teşekkür ederim, Sayın Korhan
Denedim. Oluyor. Ayrıca Makrolar çalışıp, çalışması bitince tekrar önceki hücrenin seçilmesi ile ilgili kod çok işime yarayacak.
Target.Offset(1, 0).Select
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Bu şekilde deneyin.

Sub Düğme1_Tıklat()
For x = [a65526].End(3).Row To 1 Step -1
If Cells(x, 1).Value = 0 Then Cells(x, 1).ClearContents
Next
End Sub
 
Katılım
20 Eylül 2005
Mesajlar
216
Excel Vers. ve Dili
Excel 2003 Türkçe
Kodunuzu denedim. Sadece 0 değerlerinin silinmesini istiyordum. Formül değeri sıfır olanları değil.
COST_CONTROL'un çözümü işimi görüyor. İlginize teşekkür ederim.
 
Üst