• DİKKAT

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

Belli aralıkta var olan sıfırları silmek

Katılım
10 Kasım 2006
Mesajlar
1,288
Excel Vers. ve Dili
Excel-2016
Arkadaşlar..! H11:H41 aralığında; varsa sıfırları makro ile silmek istiyorum..
 
Merhaba, işlemi butona bağlayarak mı yoksa sayfada çalışırken mi yapmak istiyorsunuz.

Aşağıdaki kodları boş bir module yapıştırın. Daha sonra sayfada butona atayarak deneyiniz.

Kod:
Sub sıfırsil()
Range("H11:H41").Select
    Selection.Replace What:="0", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub
 
Sn. huseyincoban .. teşekkür ediyorum.. yeterli oldu..sağolun..
 
Peki arkadaşlar..bir de şunu öğrensek..Aynen yukarıda belirtilen aralıkta; sonucu sıfır olan, yani veri taşımayan formülleri silmek istersek, kodunu nasıl yazarız..
 
Selamlar,

Aşağıdaki kodu kullanabilirsiniz.

Kod:
Option Explicit
 
Sub FORMÜL_SONUCU_SIFIR_OLAN_HÜCRELERİ_SİL()
    Dim Hücre As Range
    
    For Each Hücre In Range("H11:H41")
        If Hücre.HasFormula = True And Hücre.Value = 0 Then Hücre.ClearContents
    Next
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Değerli hocam Korhan Bey..! çok teşekkür ediyorum..yıllar öncesinden (cost_control kodunu kullandığınız) zamanlardan beri çok yardımlarınızı bilirim.. Yeri gelmişken şunu da öğrensem.. yukarıda bazı kodların başında kullanılan "Option Explicit" deyimi ne işe yaradığını tam bilmiyorum.. ifade ederseniz memnun olurum..
 
Selamlar,

Option Explicit komutu kod içinde kullandığımız değişkenleri tanımlamamız için bizi zorlar. Bu komutu kullanmadığınız bir döngüde hata mesajı almazsınız. Fakat bu ifadeyi ilk satıra ekleyip döngüdeki değişkeni tanımlamazsanız hata mesajı alırsınız. Uygun değişkenleri tanımlayarak sisteminizi daha az yorarsınız.

Konuyu daha iyi anlamanız açısından iki örnek;

Kod:
Option Explicit
 
Sub TEST1()
    MESAJ = "MERHABA"
    MsgBox MESAJ
End Sub

Yukarıdaki kodu çalıştırdığınızda tanımlama eksik anlamına gelen bir uyarı mesajı alırsınız. Kodu aşağıdaki şekilde değiştirip çalıştırırsanız hata mesajı almazsınız.

Kod:
Option Explicit
 
Sub TEST2()
    [COLOR=red]Dim MESAJ As String[/COLOR]
 
    MESAJ = "MERHABA"
    MsgBox MESAJ
End Sub
 
Bu da anlaşılmış oldu... Korhan bey hocam.. tekrar teşekkürlerimi ifade ederek, iyi geceler diliyorum..
 
Geri
Üst