Seçili alanda For Each ile kontrol yapılıyor. Eğer kontrol edilecek hücrenin değeri sıfır değilse mevcut değeri siler ve yerine sıfır yazar.
Option Explicit
Sub SifirdanFarkliDegerleriSifirYap()
Dim rng As Range
For Each rng In ActiveSheet.UsedRange
If rng.Value <> 0 Then
rng.Value = 0
End If
Next
End Sub
Option Explicit
Sub SifirdanFarkliDegerleriSifirYap()
'--------------------------------------------------
'For Each döngüsü için değişken tanımladık.
'Tek tek kontrol edilecek yapıları Range
'olarak düşündüğümüzden ve döngüyü de bu
'şekilde kuracağımızdan dolayı bu tipi
'Range oldu.
'--------------------------------------------------
Dim rng As Range
'--------------------------------------------------
'Aktif sayfada kullanılan alanda For Each
'çalıştır. Her alan için kontrol yap.
'--------------------------------------------------
For Each rng In ActiveSheet.UsedRange
'--------------------------------------------------
'Eğer ilgili alanda değer
'0 değilse çalışsın.
'--------------------------------------------------
If rng.Value <> 0 Then
'--------------------------------------------------
'Eğer şart sağlanıyorsa ilgili alana 0 yazdır.
'--------------------------------------------------
rng.Value = 0
End If
Next
End Sub