• DİKKAT

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

Kontrol Et Ve Temizle Makrosu

Katılım
15 Haziran 2021
Mesajlar
147
Excel Vers. ve Dili
Office 2016
Merhaba

Şöyle bir tablom var.

Elma

1

Armut

2

Kiraz

0

Muz

1

Ayva

0





Makronun yapmasını istediğim şey. B sütununda sıfır olan verileri tespit edip hem a hem b sütununu temizlemesi. Örneğin ayva karşılığı 0, hem ayvayı hem karşılığındaki 0 değerini silecek.

Yardımcı olabilecek var mı ?
 
Merhaba.

Satırı tamamen silmek için.
Kod:
Sub test1()
    Dim Bul As Range
    Do
        Set Bul = Range("B1:B" & Rows.Count).Find(what:=0, lookat:=xlWhole)
        If Bul Is Nothing Then
            MsgBox "Tamalandı."
            Exit Sub
        End If
        Bul.EntireRow.Delete
    Loop
End Sub


Hücreleri temizlemek için.
Kod:
Sub test2()
    Dim Bul As Range
    Do
        Set Bul = Range("B1:B" & Rows.Count).Find(what:=0, lookat:=xlWhole)
        If Bul Is Nothing Then
            MsgBox "Tamalandı."
            Exit Sub
        End If
        Bul = ""
        Cells(Bul.Row, "A") = ""
    Loop
End Sub
 
Merhaba.

Hücreleri temizlemek için.
Kod:
Sub test2()
    Dim Bul As Range
    Do
        Set Bul = Range("B1:B" & Rows.Count).Find(what:=0, lookat:=xlWhole)
        If Bul Is Nothing Then
            MsgBox "Tamalandı."
            Exit Sub
        End If
        Bul = ""
        Cells(Bul.Row, "A") = ""
    Loop
End Sub

Mükemmel çalışıyor. Teşekkür ederim. Peki şöyle denedim ama çalıştıramadım acaba neden ?

Taradığı alanı B1:B19 olarak sınırlandırdım tam da o satırda hata alıyorum.
 
Kodları paylaşın hatayı bulmaya çalışalım.
 
Kodları paylaşın hatayı bulmaya çalışalım.

Bu kodu çalıştırmaya çalıştığımda
Kod:
Sub test()
    Dim Bul As Range
    Do
        Set Bul = Range("E1:E19" & Rows.Count).Find(what:=0, lookat:=xlWhole)
        If Bul Is Nothing Then
            Exit Sub
        End If
        Bul = ""
        Cells(Bul.Row, "D") = ""
    Loop
End Sub

Bu satırda hata alıyorum.
Set Bul = Range("E1:E19" & Rows.Count).Find(what:=0, lookat:=xlWhole)
 
Rows.Count = Sayfadaki satır sayısı demek. Yani tüm sütunda arar.

Böyle olmalı.
Kod:
Set Bul = Range("E1:E19").Find(what:=0, lookat:=xlWhole)
 
Rica ederim. Kolay gelsin.
 
Geri
Üst