• DİKKAT

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

| Karakteri olan satırları temizleme

  • Konbuyu başlatan Konbuyu başlatan ThEeNCi
  • Başlangıç tarihi Başlangıç tarihi
Katılım
15 Mart 2010
Mesajlar
244
Excel Vers. ve Dili
2019 Türkçe
Selamlar

Clear komutu ile | bu işareti gördüğü satırları temizleme komutunu nasıl yapabilirim.

Teşekkürler.
 
Merhaba

VBA kodu ile aşağıdaki gibi yapabilirsiniz.

1. kod ile | bulunan tüm hücrelerin içeriklerini silebilir

2. Kod ile sadece ilgili hücrelerde bulunan | karakterini silebilirsiniz.


Kod:
Option Explicit

Private Sub CommandButton1_Click()
Dim i As Integer
Dim x As Integer
Dim veri As String
Dim bulunan As Integer
i = Range("a65536").End(3).Row

For x = 1 To i
veri = Cells(x, 1)
bulunan = InStr(1, veri, "|")

If bulunan > 0 Then
[COLOR="red"]Cells(x, 1) = ""[/COLOR]
End If

Next x
End Sub

Private Sub CommandButton1_Click()
Dim i As Integer
Dim x As Integer
Dim veri As String
Dim bulunan As Integer
i = Range("a65536").End(3).Row

For x = 1 To i
veri = Cells(x, 1)
bulunan = InStr(1, veri, "|")

If bulunan > 0 Then
[COLOR="Red"]Cells(x, 1) = Replace(Cells(x, 1), "|", "")[/COLOR]
End If

Next x
End Sub
 
Son düzenleme:
Ben satırı silmesini istiyorum.Mümkünse sadece G sutununda var o karakter. ve A6 hücresinden U14 hücerine kadar olan satırları silecek
 
Son düzenleme:
Aşağıdaki kodları deneyiniz. Kımızı renkli yerlere istediğiniz işlemin kodlarını değiştirerek kullanabilirsiniz.

Kod:
Option Explicit
Private Sub CommandButton1_Click()

Dim i As Integer [COLOR="Blue"]'  sayı özellikli i değişkeni tanımlandı[/COLOR]
Dim x As Integer  [COLOR="blue"]'  sayı özellikli x değişkeni tanımlandı[/COLOR]
Dim veri As String [COLOR="blue"] '  metin özellikli veri değişkeni tanımlandı[/COLOR]
Dim bulunan As Integer [COLOR="blue"]'  sayı özellikli bulunan değişkeni tanımlandı[/COLOR]
i = Range("G65536").End(3).Row [COLOR="blue"]'G sütunundaki en son dolu hücrenin bulunduğu satır nosu i değişkenine alındı[/COLOR]

For x = 1 To i [COLOR="blue"]' G sütunun 1 nolu satırından başlayarak son dolu hücresini bulunduğu satıra kadar bir döngü başlatıldı[/COLOR]
veri = Cells(x, 7) [COLOR="blue"]' döngü ile G sütunun x satırındaki hücre bilgisi veri değişkenine alındı[/COLOR]
bulunan = InStr(1, veri, "|")[COLOR="blue"] ' veri değişkenine alınan bilgide | işareti var mı? yok mu? varsa 1 değeri, yoksa 0 değeri bulunana atandı[/COLOR]

If bulunan > 0 Then[COLOR="blue"] ' bulunan daki değer eğer 0 dan büyükse yani baktığımız Gx hücresinde | işareti varsa [/COLOR]
[COLOR="Red"]Rows(x).Delete[/COLOR] [COLOR="blue"]'x hücresinin bulunduğu satır silindi.[/COLOR]
End If [COLOR="blue"]' şartlandırma sonlandırıldı[/COLOR]

Next x [COLOR="blue"]' döngü  sonlandırıldı[/COLOR]
End Sub
 
Son düzenleme:
kırmızı olan yeri anlayamadım şuan silmiyor macro
 
kırmızı olan yeri anlayamadım şuan silmiyor macro

Konu ile ilgili kodların nasıl çalıştığına dair 4. mesajda detay bilgileri yazdım.
Kırmızı kodların bulunduğu kısma sizin yapmak istediğiniz işlem ile ilgili özelleştirmeyi yapıp, buraya kendi kodlarınızı kendinizin yazabileceğini belirtmiştim.

en nihayetinde ben size balık yemeyi değil, balık tutmayı öğretebilirim.
Kendinizi geliştirmek ve bağımsız bir şekilde bu işleri yapabilmek vede kavramak adına biraz daha araştırın derim.
 
Son düzenleme:
Bu tarz özel karakter durumları için küçükte olsa bir örnek dosya eklerseniz açtığınız konular gereksiz yere uzayıp gitmez.
 
Deneyiniz..

Kod:
Sub KOŞULA_GÖRE_SATIR_SİL()
    Dim Aranan As Variant, Bul As Range, Alan As Range, Adres As String
    
    Aranan = Chr(124)
    Set Bul = Range("H:H").Find(Aranan, , , xlPart)
    If Not Bul Is Nothing Then
        Adres = Bul.Address
        Do
            If Alan Is Nothing Then
                Set Alan = Range("A" & Bul.Row & ":V" & Bul.Row)
            Else
                Set Alan = Union(Alan, Range("A" & Bul.Row & ":V" & Bul.Row))
            End If
            Set Bul = Range("H:H").FindNext(Bul)
        Loop While Not Bul Is Nothing And Bul.Address <> Adres
    End If
    
    If Not Alan Is Nothing Then Alan.Delete xlUp

    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Korhan bey silmedi o karekterin olduğu satırı
 
Ben eklediğiniz dosyada denedim ve olumlu sonuç aldım.

Sizin orjinal dosyanızda farklı bir durum olabilir. Eklerseniz deneme yapabiliriz.
 
Tamam örnekde oldu fakat benim dosyada formülle geliyor o karakter diğer sayfadan o yüzden silmiyor
 
İlginç bir şekilde programı kapatıp açtığımda silme işlemi gerçekleşti çok teşekkür ederim
 
Geri
Üst