Kodda değişiklik ilavesi

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
500
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2027
Arkadaşlar daha önce bu formdaki bir arkadaşın yardımıyla bir makro kodu yardımı olmuştu. Makronun çalışma mantığı şu idi Excel hücresindeki cümlede baştaki sırayı belirten rakam ve sayılar hariç cümle içinde dipnot veya farklı amaçla yazılmış rakamları temizliyordu. Ama bu rakamlar üstlü sayı şeklinde olursa temizlemiyor. Koda nasıl bir ilave yazabiliriz.

Kod:

Sub Sayilari_Temizle()
Dim Veri As Range, Bul As Integer, Metin As String
With CreateObject("VBscript.RegExp")
.Global = True
.Pattern = "[0-9]"
For Each Veri In Selection
Bul = InStr(1, Veri.Value, ".")
If Bul > 0 Then
Metin = Mid(Veri.Value, Bul + 1, Len(Veri.Value) - Bul)
Veri.Value = Mid(Veri.Value, 1, Bul) & .Replace(Metin, "")
End If
Next
End With
MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub

Örnek:
223239
 

kulomer46

Altın Üye
Katılım
23 Mart 2007
Mesajlar
1,514
Excel Vers. ve Dili
Microsoft Office LTSC Professional Plus 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
08-06-2027
Merhaba

Aşağıdaki kod bloğu işinize yarayacaktır.

Bu kod Excelde seçili alan içindeki sayıları temizlemektedir.
Eğer Sıra Numarası ve arkasında nokta varsa bu işlemi noktadan sonra yapmaktadır.

Selamlar...


Kod:
Sub Sayilari_Temizle1()
'08.12.2020   11:31
'Bu kod Excelde seçili alan içindeki sayıları temizlemektedir.
'Eğer Sıra Numarası ve arkasında nokta varsa bu işlemi noktadan sonra yapmaktadır.

Dim Veri As Range, Metin As String

For Each Veri In Selection
   
    Metin = Veri
   
    For i = 1 To Len(Metin)
       
        If Mid(Metin, i, 1) = "." Then
       
            For j = i To Len(Metin)
               
                If Mid(Metin, j, 1) = 1 Or Mid(Metin, j, 1) = 2 Or Mid(Metin, j, 1) = 3 Or Mid(Metin, j, 1) = 4 _
                Or Mid(Metin, j, 1) = 5 Or Mid(Metin, j, 1) = 6 Or Mid(Metin, j, 1) = 7 Or Mid(Metin, j, 1) = 8 _
                Or Mid(Metin, j, 1) = 9 Or Mid(Metin, j, 1) = 0 Then
                   
                    Mid(Metin, j, 1) = " "
               
                End If
           
            Next
           
            GoTo uç1
           
        End If
       
    Next
   
    For j = 1 To Len(Metin)
       
        If Mid(Metin, j, 1) = 1 Or Mid(Metin, j, 1) = 2 Or Mid(Metin, j, 1) = 3 Or Mid(Metin, j, 1) = 4 _
        Or Mid(Metin, j, 1) = 5 Or Mid(Metin, j, 1) = 6 Or Mid(Metin, j, 1) = 7 Or Mid(Metin, j, 1) = 8 _
        Or Mid(Metin, j, 1) = 9 Or Mid(Metin, j, 1) = 0 Then
           
            Mid(Metin, j, 1) = " "
       
        End If
   
    Next

uç1:

Veri = Metin
   
Next

MsgBox "İşleminiz tamamlanmıştır.", vbInformation, "İşlem"

End Sub
 

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
500
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2027
Sayın Kulomer46 ilginize teşekkür ederim ama malesef benim istediğim kısımları temizlemiyor.

223280
asıl istenilen kısmı değil temizlememesi gereken kısmı temizliyor.
Benim ilk verdiğim kod normal rakamları baştakiler hariç temizliyordu sadece "üst karakter" şeklindeki rakamları temizlemiyor du.
 
Son düzenleme:

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
Alternatif olarak Google Sheets'de "Regular Expressions" kullanarak, A1 hücresindeki metinden üslü sayıları temizlemek için;

JavaScript:
=REGEXREPLACE(A1;"[⁰¹²³⁴⁵⁶⁷⁸⁹]+";"")
.
 

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
500
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2027
Alternatif olarak Google Sheets'de "Regular Expressions" kullanarak, A1 hücresindeki metinden üslü sayıları temizlemek için;

JavaScript:
=REGEXREPLACE(A1;"[⁰¹²³⁴⁵⁶⁷⁸⁹]+";"")
.
İşimi gördü teşekkürler Haluk Bey
 

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
İşinize yaramasına sevindim. Google Sheets'de daha fazlası için;

https://excelhaluk.blogspot.com/

.
 
Üst