• DİKKAT

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

[ÇÖZÜLDÜ] Belirlenen bir karaktere göre o satırın tamamen silinmesi..

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Katılım
5 Nisan 2006
Mesajlar
449
Excel Vers. ve Dili
Office Excel 2003
TÜRKÇE
Sevgili excel meraklısı arkadaşlar, forumda aradım ama benim istediğim gibi bir kod bulamadım. Sorun şu, kullanmakta olduğum bir listede bazı hücrelerde "=======" (eşittir) şeklinde işaretler var. Bu işaretlerin belirli bir sayısı yok. Bazı hücrelerde 5 tane, bazılarında 7 tane var.

[a:a].SpecialCells(xlCellTypeBlanks).EntireRow.Delete

Bu şekildeki makro ile belli a sütununda boş olan hücre varsa o satır silinmesi sağlanmakta ama acaba buna benzer bir kod ile hücrede "===" şeklinde karakter olan satırlar sildirilebilir mi.
Teşekkür eder, saygılar sunarım....
 
A sütununda "===" olan hücrelerin satırını komple silen kod;

Kod:
Sub sil()
son = [A65536].End(xlUp).Row
For x = son To 1 Step -1
If Cells(x, 1) = "===" Then
Rows(x).Delete
End If
Next
End Sub
 
Sayın mehmett kardeşim,
tahmin ettiğim gibi oldu ve derdimi anlatamadım sanırım. Yukarıda da belirttiğim gibi hücredeki eşittir işaretleri aynı sayıda değil. Bazı hücrede 3 tane bazılarında 7, bazılarında da 10 tane var. Kesin bir miktar yok yani. Kodu şu şekilde değiştirmek mümkün müdür.
"A sütununda = karakteri olan satırın silinmesi" Yani özellikle adet belirtmek zorunda olmayalım diyorum. Umarım anlatabilmişimdir. Yine de ilginize teşekkür ederim...
 
Bu şekilde deneyin.

Sub Düğme1_Tıklat()
For a = 1 To 200
If Cells(a, 1).Value = "=" Then Cells(a, 1).EntireRow.Delete
If Cells(a, 1).Value = "==" Then Cells(a, 1).EntireRow.Delete
If Cells(a, 1).Value = "===" Then Cells(a, 1).EntireRow.Delete
If Cells(a, 1).Value = "===" Then Cells(a, 1).EntireRow.Delete
If Cells(a, 1).Value = "====" Then Cells(a, 1).EntireRow.Delete
If Cells(a, 1).Value = "=====" Then Cells(a, 1).EntireRow.Delete
If Cells(a, 1).Value = "======" Then Cells(a, 1).EntireRow.Delete
If Cells(a, 1).Value = "=======" Then Cells(a, 1).EntireRow.Delete
If Cells(a, 1).Value = "========" Then Cells(a, 1).EntireRow.Delete
If Cells(a, 1).Value = "=========" Then Cells(a, 1).EntireRow.Delete
If Cells(a, 1).Value = "==========" Then Cells(a, 1).EntireRow.Delete
Next
End Sub
 
Seyit Bey,
teşekkür ederim. İlginç bir fikirdi, sağolun. Sanırım makro biraz daha aşağıya doğru uzayacak ama olsun.
Teşekkür eder, saygılar sunarım....
 
Bir de şöyle deneyin;

Kod:
Sub sil()
son = [A65536].End(xlUp).Row
For x = son To 1 Step -1
If WorksheetFunction.CountIf(Cells(x, 1), "*=*") > 0 Then
Rows(x).Delete
End If
Next
End Sub
 
Mehmett bey, size de teşekkür ederim. Bu da işime yaradı. Çok sağolun....
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Geri
Üst