• DİKKAT

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

Makro İle Belirttiğimiz Metinleri Temizleme

  • Konbuyu başlatan Konbuyu başlatan asas44
  • Başlangıç tarihi Başlangıç tarihi
Katılım
13 Temmuz 2013
Mesajlar
121
Excel Vers. ve Dili
2013 excel
CÜmleten kolay gelsin;
Makro ile belirli tablolara belirli tablolardan veri çekiyorum veriyi bulamadığı zaman #YOK veya 0 değerlerini vermekte makronun devamında tablodan bunların temizlenmesini istiyorum. Ama bu verileri silerken başka verinin silinmesini istemiyorum örneğin 0 sıfırı silerken 0506.... gibi rakamların içindeki 0 lara dokunmaması gerek umarım anlatabilmişimdir.
Emek veren hocalarıma şimdiden teşekkür ederim.
 
Merhaba.

Aşağıdaki gibi birşey düşünülebilir.
(ActiveSheet.UsedRange kısmı aktif sayfada kullanılan alan)
.
Kod:
[FONT="Arial Narrow"]For Each hucre In ActiveSheet.UsedRange
    If IsError(hucre.Value) = True Then
        Range(hucre.Address) = ""
    ElseIf Range(hucre.Address) = 0 Then Range(hucre.Address) = ""
    End If
Next[/FONT]
 
Merhaba.

Aşağıdaki gibi birşey düşünülebilir.
(ActiveSheet.UsedRange kısmı aktif sayfada kullanılan alan)
.
Kod:
[FONT="Arial Narrow"]For Each hucre In ActiveSheet.UsedRange
    If IsError(hucre.Value) = True Then
        Range(hucre.Address) = ""
    ElseIf Range(hucre.Address) = 0 Then Range(hucre.Address) = ""
    End If
Next[/FONT]

Ömer bey elinize sağlık teşekkür ediyorum, bu vermiş olduğunuz kod ile #YOK VE 0 ları temizleyebildim fakat ben 1 leri silmek istediğimde yada atıyorum ? soru işaretini silmek istediğim de kodda nereleri değiştirmem gerek öğrenmek maksatlı soruyorum. İlginiz için teşekkür ederim
 
Merhaba,

Kodda ki kırmızı bölümü değiştirmelisiniz. (Yani koşul satırını)

Kod:
For Each hucre In ActiveSheet.UsedRange
    [COLOR="Red"]If IsError(hucre.Value) = True Then[/COLOR]
        Range(hucre.Address) = ""
    ElseIf Range(hucre.Address) = 0 Then Range(hucre.Address) = ""
    End If
Next

Soru işareti için;
Kod:
If hucre.Value = "?" Then

1 değeri için;
Kod:
If hucre.Value = 1 Then
 
Merhaba,

Kodda ki kırmızı bölümü değiştirmelisiniz. (Yani koşul satırını)

Kod:
For Each hucre In ActiveSheet.UsedRange
    [COLOR="Red"]If IsError(hucre.Value) = True Then[/COLOR]
        Range(hucre.Address) = ""
    ElseIf Range(hucre.Address) = 0 Then Range(hucre.Address) = ""
    End If
Next

Soru işareti için;
Kod:
If hucre.Value = "?" Then

1 değeri için;
Kod:
If hucre.Value = 1 Then

Korhan bey belirttiğiniz şekilde kırmızı kodla belirttiğiniz kısmı değiştiriyorum

Kod:
For Each hucre In ActiveSheet.UsedRange
    If hucre.Value = "?" Then
        Range(hucre.Address) = ""
    ElseIf Range(hucre.Address) = 0 Then Range(hucre.Address) = ""
    End If
Next

yada

Kod:
For Each hucre In ActiveSheet.UsedRange
    If hucre.Value = "(yok)" Then
    If hucre.Value = "?" Then
        Range(hucre.Address) = ""
    ElseIf Range(hucre.Address) = 0 Then Range(hucre.Address) = ""
    End If
Next

gibi denedim fakat hepsinde hata verdi sonuç alamadım acaba benmi hata yapıyorum ?
 
.... Ama bu verileri silerken başka verinin silinmesini istemiyorum örneğin 0 sıfırı silerken 0506.... gibi rakamların içindeki 0 lara dokunmaması gerek......
Merhaba.

Verdiğim kod'da;
-- If Iserror diye başlayan (bir altındaki satırla birlikte); #YOK, #DEĞER gibi hata sonucu aldığınız hücrlerin temizlenmesini sağlarken,
-- Elseif diye başlayan satırdaki 0 yerine, değiştirmek istediğiniz diğer karakter/metin neyse onu yazarak istediğiniz hücre değerlerinin silinmesini sağlar.

Konu açılış mesajında belirttiğiniz gibi hücre içerisindeki karakterleri değil, kod'da belirteceğiniz karakterden ibaret olan hücreler temizlenir.
.
 
Hücrelerdeki verileriniz nasıl örnek verir misiniz?
 
Merhaba.

Verdiğim kod'da;
-- If Iserror diye başlayan (bir altındaki satırla birlikte); #YOK, #DEĞER gibi hata sonucu aldığınız hücrlerin temizlenmesini sağlarken,
-- Elseif diye başlayan satırdaki 0 yerine, değiştirmek istediğiniz diğer karakter/metin neyse onu yazarak istediğiniz hücre değerlerinin silinmesini sağlar.

Konu açılış mesajında belirttiğiniz gibi hücre içerisindeki karakterleri değil, kod'da belirteceğiniz karakterden ibaret olan hücreler temizlenir.
.
Hmm anladım Ömer hocam ben farklı bir şekilde denedim daha doğrusu sorumun yanıtını siz doğru vermişsiniz ama ben 2. bir sıkıntı ile karşı karşı ya kaldım sizin yöntemle aşmaya kalkıştım fakat olmadı. Sizin verdiğiniz yöntemle ilk sıkıntımı aştım
Şuanki sorun ise rakamların içerisindeki harfleri bulup renklendirmeye çalışıyorum numeric ise yada metin ise koşulları ile aşmaya çalıştım fakat iki numara arasındaki boşluğuda metin gördüğü için tıkandım Tek çağreyide 29 harfi yazmakta buldum ama başaramadım Örnek dosya atarsam sanırım daha iyi anlaşılacak Bu arada belirttiğim sütunlar arasında işlem yapması lazım tüm sayfada değil
Örnek dosya: http://dosya.co/8j15h7pd8f3p/Harf_renklendir.xlsx.html
 
Son düzenleme:
Geri
Üst