[ÇÖ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....
 

mehmett

Altın Üye
Katılım
18 Mayıs 2005
Mesajlar
2,571
Excel Vers. ve Dili
Excel 2010 Türkçe
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
 
Katılım
5 Nisan 2006
Mesajlar
449
Excel Vers. ve Dili
Office Excel 2003
TÜRKÇE
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...
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
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
 
Katılım
5 Nisan 2006
Mesajlar
449
Excel Vers. ve Dili
Office Excel 2003
TÜRKÇE
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....
 

mehmett

Altın Üye
Katılım
18 Mayıs 2005
Mesajlar
2,571
Excel Vers. ve Dili
Excel 2010 Türkçe
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
 
Katılım
5 Nisan 2006
Mesajlar
449
Excel Vers. ve Dili
Office Excel 2003
TÜRKÇE
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...
Üst