Satırlardaki Özel Karakteri Tespit etmek

Katılım
2 Mayıs 2021
Mesajlar
56
Excel Vers. ve Dili
Excel 2016 - TR
Altın Üyelik Bitiş Tarihi
06-07-2023
Merhaba, hergün binlerce satır veri ile uğraşıyorum. Acaba bu satırlarda geçen özel karakterleri bulup satırı sarıya boyamamız mümkün olur mu?

Örneğin noktalama işaretleri dışındaki emoji veya (kril, çin, kore ve grek alfabesi) gibi bir harf geçiyorsa bunlar tespit edilip ilgili satırlar sarıya boyanabilir mi? Bu konu ile ilgili yardımcı olabilir misiniz? Çok teşekkürler.

Örnek dosyayı paylaşıyorum.

 

Ekli dosyalar

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
C#:
Sub Test()
'   Haluk - 09/08/2022
'   sa4truss@gmail.com

    Dim regExp As Object, i As Integer
    
    Set regExp = CreateObject("VBscript.RegExp")
    
    regExp.Pattern = "[^\x00-\x7F]"
    
    regExp.Global = True
    
    For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
        If regExp.Test(Range("A" & i)) Then
            Range("A" & i).Interior.Color = vbYellow
        Else
            Range("A" & i).Interior.Color = xlNone
        End If
    Next
    
    Set regExp = Nothing
End Sub
.
 
Son düzenleme:
Katılım
2 Mayıs 2021
Mesajlar
56
Excel Vers. ve Dili
Excel 2016 - TR
Altın Üyelik Bitiş Tarihi
06-07-2023
C#:
Sub Test()
'   Haluk - 09/08/2022
'   sa4truss@gmail.com

    Dim regExp As Object, i As Integer
   
    Set regExp = CreateObject("VBscript.RegExp")
   
    regExp.Pattern = "[^\x00-\x7F]"
   
    regExp.Global = True
   
    For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
        If Range("A" & i) <> regExp.Replace(Range("A" & i), "") Then
            Range("A" & i).Interior.Color = vbYellow
        Else
            Range("A" & i).Interior.Color = xlNone
        End If
    Next
   
    Set regExp = Nothing
End Sub
.
Hocam cevabınız için teşekkürler fakat aşağıdaki hatayı verdi.

Run-time error '429':
ActiveX component can't create object
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Kod, Excel - Windows için geçerlidir... Başka bir işletim sistemi kullanıyorsanız, bilemem....

.
 
Katılım
2 Mayıs 2021
Mesajlar
56
Excel Vers. ve Dili
Excel 2016 - TR
Altın Üyelik Bitiş Tarihi
06-07-2023
Hocam windowsta denedim çalıştı. elinize sağlık. Yalnız şöyle bir durum var. Aşağıdaki satırda é harfinden dolayı sanırım sarıya boyadı. Aslında bunlarda normal karakterler. Benim istediğim alfabelerde olmayan karakter kullanımlarında uyarı verebilmesi. Böyle birşey mümkün müdür

ADH Ebéniste, Lanoraie, QC J0K 1E0
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Kod, Unicode olmayan karakterlere göre çalışır ve ilk mesajınızda durum böyleydi....

.
 
Katılım
2 Mayıs 2021
Mesajlar
56
Excel Vers. ve Dili
Excel 2016 - TR
Altın Üyelik Bitiş Tarihi
06-07-2023
Kod, Unicode olmayan karakterlere göre çalışır ve ilk mesajınızda durum böyleydi....

.
Hocam diğer dilleri dahil edip bir şey yapılabilir mi? İlk mesajımda çok net ifade edememiş olabilirim. Kusura bakmayınız.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Tam olarak test etmedim, siz denersiniz.... eksik karakter varsa, kodda pattern'a ilave edersiniz.

C#:
Sub Test2()
'   Haluk - 09/08/2022
'   sa4truss@gmail.com

    Dim regExp As Object, i As Integer
    
    Set regExp = CreateObject("VBscript.RegExp")
    regExp.Pattern = "[^\x00-\x7FàèìòùÀÈÌÒÙáéíóúyÁÉÍÓÚYâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ]"
    
    regExp.Global = True
    
    For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
        If regExp.Test(Range("A" & i)) Then
            Range("A" & i).Interior.Color = vbYellow
        Else
            Range("A" & i).Interior.Color = xlNone
        End If
    Next
    
    Set regExp = Nothing
End Sub

.
 
Katılım
2 Mayıs 2021
Mesajlar
56
Excel Vers. ve Dili
Excel 2016 - TR
Altın Üyelik Bitiş Tarihi
06-07-2023
Haluk Hocam çok teşekkür ederim. 15k veri üzerinden test ettim. Şu an gayet başarılı. Hatta birkaç pattern ekledim. Ellerinize sağlık.
 
Üst