Sütunda belirttiğimiz basamakta sayı arama ve renklendirme

Katılım
13 Temmuz 2013
Mesajlar
121
Excel Vers. ve Dili
2013 excel
Arkadaşlar kolay gelsin, ben bir sütunda 2-3-4-5-6 ..... 12-13 basamaklı diye devam eden sayılar var binlerce bunların içerisinde harfte var süz işleminden süzerek ayıklayabiliyorum fakat çok fazla vaktimi alıyor bu.
Benim istediğim mesela 4 basamaklıları bul biçimlendir yada içerisinde harf içeriyorsa biçimlendir yada renklendir demek istiyorum bu şekilde toplu süzüp silebilir yada alabilirim. Bu konuda bana yardım ederseniz çok sevinirim.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.

Sorunuzu, (cevabımın altındaki açıklamaları okuyarak)
bir örnek belge ile destekleyerek sorarsanız daha hızlı ve net cevaplar alacağınızı düşünüyorum.
.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Sayın asas44, yanlış anlamayın ama; resim ile yardım istenmesine hep şaşırmışımdır ve cevap yazdığım da pek vaki değildir.

Destek verecek üyeden; resime bakmasını, resimdekine benzeyen veriler yazarak bir belge oluşturmasını,
istediğiniz sonucu verecek kod / formül yazmasını, bunu denemeler yaparak istediğiniz hale getirmesini ve
size; buyurun aşağıdaki kod'u /formülü belgeye uygulayın demesini istemiş oluyorsunuz.

Aşağıdaki şekilde istediğiniz sonuca ulaşmanız lazım.
-- Aşağıdaki formülü B1 hücresine uygulayın ve liste boyunca aşağı doğru kopyalayın,
-- Formül uygulanan B sütunundaki alanı seçip KOPYALA -> ÖZEL YAPIŞTIR -> DEĞERLERİ şeklinde işlem yapın,
-- B sütununa filtre uygulayıp DOĞRU kelimesine göre filtreleyin,
-- Filtre sonucunda kalan satırları, satır numaraları üzerinden seçin ve seçili alanda fareyle sağ tıklayıp SİLME işlemini yapın.
.
Kod:
=EĞER(EHATALIYSA(VE(A1+0>=1000;A1+0<=99999));DOĞRU;VE(A1+0>=1000;A1+0<=99999))
 
Katılım
6 Temmuz 2015
Mesajlar
926
Excel Vers. ve Dili
2003
Deneyiniz,

A sütunundaki değerler nümerik değilse (yani metinsel değer ise), 4 veya 5 haneli ise sarı renge boyanır veya silinir.

Renklendirmek için,

Kod:
Sub Renklendir()
For a = 1 To [A1048576].End(xlUp).Row
If Not IsNumeric(Cells(a, 1)) Or Len(Cells(a, 1)) = 4 Or Len(Cells(a, 1)) = 5 Then _
Cells(a, 1).Interior.ColorIndex = 6
Next a
End Sub

Silmek için,
Kod:
Sub Sil()
For a = [A1048576].End(xlUp).Row To 1 Step -1
If Not IsNumeric(Cells(a, 1)) Or Len(Cells(a, 1)) = 4 Or Len(Cells(a, 1)) = 5 Then _
Rows(a).Delete
Next a
End Sub
 
Katılım
13 Temmuz 2013
Mesajlar
121
Excel Vers. ve Dili
2013 excel
Çok çok teşekkür ederim ellerinize kollarınıza sağlık her ikiside oldu dosya yükleyemediğim için yordum sizleride hakkınızı helal edin.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Estağfurullah.
İyi çalışmalar dilerim.
.
 
Katılım
13 Temmuz 2013
Mesajlar
121
Excel Vers. ve Dili
2013 excel
Ömer BARAN ve saban bey tekrardan yardımınız için teşekkür ederim aynı konuda ufak bir pürüz çıktı sizi tekrardan rahatsız etmemek için kendim uğraştım ama üstesinden gelemedim örnek dosyada durumu özetledim bakıp yardımcı olursanız çok makbule geçer. İlginiz için tekrardan teşekkür ederim.
http://s4.dosya.tc/server/da2we3/ORNEKk.xlsx.html
 
Son düzenleme:
Katılım
6 Temmuz 2015
Mesajlar
926
Excel Vers. ve Dili
2003
Merhabalar asas44,

Mesajınızı geç farkettim, kusura bakmayınız. Örnek dosyanızda "10 basamaklı ve üstünü seçmemesi gerekiyor arasında boşluk dahi olsa" demişsiniz.

Boşluk karakteri, sayının metin olarak algılanmasına neden oluyor. Bu da önceki verilen kodlamanın, istediğinize göre hatalı işlem döndürmesine neden oluyor. Alttaki kodu bir deneyiniz. 9 basamaktan büyük hiçbir hücreyi renklendirmez. Dilerim işinizi görür.

Kod:
Sub Renklendir()
For a = 1 To [A1048576].End(xlUp).Row
If Len(Cells(a, 1)) > 9 Then GoTo 10 [COLOR="Red"] '9 basamaktan büyük[/COLOR]
If Not IsNumeric(Cells(a, 1)) Or Len(Cells(a, 1)) = 4 Or Len(Cells(a, 1)) = 5 Then _
Cells(a, 1).Interior.ColorIndex = 6
10
Next a
End Sub
 
Katılım
13 Temmuz 2013
Mesajlar
121
Excel Vers. ve Dili
2013 excel
Merhabalar asas44,

Mesajınızı geç farkettim, kusura bakmayınız. Örnek dosyanızda "10 basamaklı ve üstünü seçmemesi gerekiyor arasında boşluk dahi olsa" demişsiniz.

Boşluk karakteri, sayının metin olarak algılanmasına neden oluyor. Bu da önceki verilen kodlamanın, istediğinize göre hatalı işlem döndürmesine neden oluyor. Alttaki kodu bir deneyiniz. 9 basamaktan büyük hiçbir hücreyi renklendirmez. Dilerim işinizi görür.

Kod:
Sub Renklendir()
For a = 1 To [A1048576].End(xlUp).Row
If Len(Cells(a, 1)) > 9 Then GoTo 10 [COLOR="Red"] '9 basamaktan büyük[/COLOR]
If Not IsNumeric(Cells(a, 1)) Or Len(Cells(a, 1)) = 4 Or Len(Cells(a, 1)) = 5 Then _
Cells(a, 1).Interior.ColorIndex = 6
10
Next a
End Sub
çok teşekkürler gayet güzel oldu peki ben A sütunu değilde ilerde B sütunu yada C sütunu için kullanmak istersem bu formulü a yazanları b yapmam yeterlimi denedim olmadı ama ?
Tekrardan teşekkür ederim ilginiz için.
 
Son düzenleme:
Katılım
6 Temmuz 2015
Mesajlar
926
Excel Vers. ve Dili
2003
Merhabalar,

Cells(a, 1)'de kullanılan a harfi, sütunun başında bulunan A değildir.

Siz, Cells(a, 1) ifadesindeki rakamları değiştirmelisiniz. Buradaki 1 rakamı, 1.sütunu ifade eder. 2.sütun için Cells(a,2) şeklinde yazmanız gerekir. Yani kod içinde cells(a,1) 'lerin hepsini değiştirmelisiniz.

Kodlamaya merakınız ne kadar bilmiyorum ama, geçmişte hazırladığım bir çalışmanın linkini vereyim, indirin bakın isterseniz. Faydası olacağını umuyorum. (Dosya 1 nolu mesajdadır)
Link : http://www.excel.web.tr/f60/userform-hazyrlama-ve-kod-yazma-t77164.html
 
Katılım
13 Temmuz 2013
Mesajlar
121
Excel Vers. ve Dili
2013 excel
Merhabalar,

Cells(a, 1)'de kullanılan a harfi, sütunun başında bulunan A değildir.

Siz, Cells(a, 1) ifadesindeki rakamları değiştirmelisiniz. Buradaki 1 rakamı, 1.sütunu ifade eder. 2.sütun için Cells(a,2) şeklinde yazmanız gerekir. Yani kod içinde cells(a,1) 'lerin hepsini değiştirmelisiniz.

Kodlamaya merakınız ne kadar bilmiyorum ama, geçmişte hazırladığım bir çalışmanın linkini vereyim, indirin bakın isterseniz. Faydası olacağını umuyorum. (Dosya 1 nolu mesajdadır)
Link : http://www.excel.web.tr/f60/userform-hazyrlama-ve-kod-yazma-t77164.html
saban bey size çok teşekkür ederim excel e müthiş merakım var kendi çabamla öğrenmeye çalışıyorum sizide yordum internetten izleyerek biraz öğrendim ilgim çok fazla yanlız göndermiş olduğunuz linkten indirme yapamadım dosya.tc den link verebilirseniz yada benzeri bir siteden çok memnun olurum. Tekrar çok teşekkür ederim emeklerinize sağlık.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.

Şaban Bey şu an forumda değil.

Şaban Bey'in verdiği bağlantıdaki dosyaya BURADAN ulaşabilirsiniz.
.
 
Üst