Kelimeleri Türkçe Yapma

ÆSir

Dora
Altın Üye
Katılım
15 Ocak 2018
Mesajlar
225
Excel Vers. ve Dili
2015 TR
Altın Üyelik Bitiş Tarihi
20-05-2025
Elimde şu an 80bin satırlık bir döküman var. İçinde rotbası, vıtes, sılındır gibi Türkçe karakter içermeyen binlerce kelime var. Hepsini aynı anda Türkçe hale nasıl çevirebilirim?

İkinci sorum her satırın A hücresinde "AYH-A5064" gibi kodlar mevcut. Bunlardan bazıları "BHR-8ML376746-021" şeklinde. İsteğim soldan olmak kaydıysa ilk - ve öncesinin silinmesi komutu.

BHR-8ML376746-021 olmasını istediğim 8ML376746-021

AYH-A5064 olmasını istediğim A5064 gibi.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,272
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Örnek olarak Excel "vıtes" kelimesinin "vites" olması gerektiğini bilemez. Bunun için bir kelime listeniz varsa iş kolaylaşır. Yoksa benim aklıma ilk olarak Google çeviriyi kullanmak geliyor.
 

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
Sorunuzun 2. kısmıyla ilgili olarak;

Kod:
Sub Test()
    Dim noA As Long, i As Long
    noA = Range("A" & Rows.Count).End(xlUp).Row
    For i = 1 To noA
        Range("A" & i) = Split(Range("A" & i).Text, "-")(1)
    Next
End Sub
.
 

ÆSir

Dora
Altın Üye
Katılım
15 Ocak 2018
Mesajlar
225
Excel Vers. ve Dili
2015 TR
Altın Üyelik Bitiş Tarihi
20-05-2025
Örnek olarak Excel "vıtes" kelimesinin "vites" olması gerektiğini bilemez. Bunun için bir kelime listeniz varsa iş kolaylaşır. Yoksa benim aklıma ilk olarak Google çeviriyi kullanmak geliyor.
Öyle bir durumda doğru kelimeleri yazarak tümünü değiştir demek daha mantıklı olacak sanırım.

Sorunuzun 2. kısmıyla ilgili olarak;
Makro içine yerleştirdim fakat değişen bir şey olmadı :/
 

ÆSir

Dora
Altın Üye
Katılım
15 Ocak 2018
Mesajlar
225
Excel Vers. ve Dili
2015 TR
Altın Üyelik Bitiş Tarihi
20-05-2025
Sorunuzun 2. kısmıyla ilgili olarak;

Kod:
Sub Test()
    Dim noA As Long, i As Long
    noA = Range("A" & Rows.Count).End(xlUp).Row
    For i = 1 To noA
        Range("A" & i) = Split(Range("A" & i).Text, "-")(1)
    Next
End Sub
214814

Hata alıyorum hocam
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,272
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sorguladığınız veride ilgili satırda "-" işareti olmayabilir. Bunu kontrol ediniz.
 
Katılım
24 Nisan 2005
Mesajlar
3,671
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
@Haluk bey in kodu üzerinden aşağıdaki şekilde deneyiniz.

Kod:
Sub Test()
    Dim noA As Long, i As Long
    noA = Range("A" & Rows.Count).End(xlUp).Row
    For i = 1 To noA
       gec = Range("A" & i).Text
       If gec <> "" And InStr(gec, "-") > 0 Then Range("A" & i) = Split(gec, "-")(1)
    Next
End Sub
 
Katılım
24 Nisan 2005
Mesajlar
3,671
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Elimde şu an 80bin satırlık bir döküman var. İçinde rotbası, vıtes, sılındır gibi Türkçe karakter içermeyen binlerce kelime var. Hepsini aynı anda Türkçe hale nasıl çevirebilirim..
Aynı anda çevirmeniz ON >ÖN, CAM > ÇAM, CAMI > CAMİ , SU >ŞU gibi doğru olanları da yanlış çevirmesine sebep olabilir.
Türkçe karakter olmasa da en azından anlaşılıyor. Yanlış çevrimde daha kötü sonuçlar çıkabilir.
Kontrollü bir şekilde yapılması daha iyi sonuç verir diye düşünüyorum.
 

ÆSir

Dora
Altın Üye
Katılım
15 Ocak 2018
Mesajlar
225
Excel Vers. ve Dili
2015 TR
Altın Üyelik Bitiş Tarihi
20-05-2025
@Haluk bey in kodu üzerinden aşağıdaki şekilde deneyiniz.

Kod:
Sub Test()
    Dim noA As Long, i As Long
    noA = Range("A" & Rows.Count).End(xlUp).Row
    For i = 1 To noA
       gec = Range("A" & i).Text
       If gec <> "" And InStr(gec, "-") > 0 Then Range("A" & i) = Split(gec, "-")(1)
    Next
End Sub
Evet formülünüz çalıştı fakat içinde birden fazla (-) olan satırların sağ ve solunu komple kaldırdı.


GNS-4650-4651-4652 makro sonrası 4650 halini almış.
Onun dışında asıl olması gerekenler ABA-25010161 iken 25010161 olmuş bu harika.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,647
Excel Vers. ve Dili
Pro Plus 2021
Onun dışında asıl olması gerekenler ABA-25010161 iken 25010161 olmuş bu harika.
Kod:
Sub Test()
    Dim noA As Long, i As Long
    noA = Range("A" & Rows.Count).End(xlUp).Row
    For i = 1 To noA
        gec = Range("A" & i).Text
        If gec <> "" And InStr(gec, "-") > 0 Then
            bol = Split(gec, "-")
            bol(0) = ""
            Range("A" & i) = Mid(Join(bol, "-"), 2)
        End If
    Next
End Sub
veya daha basiti
Kod:
Sub Test()
    Dim noA As Long, i As Long
    noA = Range("A" & Rows.Count).End(xlUp).Row
    For i = 1 To noA
        gec = Range("A" & i).Text
        bul = InStr(gec, "-")
        If gec <> "" And bul > 0 Then Range("A" & i) = Mid(gec, bul + 1)
    Next
End Sub
 
Katılım
24 Nisan 2005
Mesajlar
3,671
Excel Vers. ve Dili
Office 2016 EN 64 Bit
Altın Üyelik Bitiş Tarihi
25/05/2022
Evet formülünüz çalıştı fakat içinde birden fazla (-) olan satırların sağ ve solunu komple kaldırdı.


GNS-4650-4651-4652 makro sonrası 4650 halini almış.
Onun dışında asıl olması gerekenler ABA-25010161 iken 25010161 olmuş bu harika.
@veyselemre sorunu çözmüş. Aşağıdaki kodu deneyiniz.

Kod:
Sub Test()
    Dim noA As Long, i As Long
    noA = Range("A" & Rows.Count).End(xlUp).Row
    For i = 1 To noA
       gec = Range("A" & i).Text
       If gec <> "" And InStr(gec, "-") > 0 Then Range("A" & i) = Mid(gec, InStr(gec, "-") + 1, Len(gec))
    Next
End Sub
 

ÆSir

Dora
Altın Üye
Katılım
15 Ocak 2018
Mesajlar
225
Excel Vers. ve Dili
2015 TR
Altın Üyelik Bitiş Tarihi
20-05-2025
Çok teşekkür ederim emekleriniz için.
 

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:

Kod:
Sub Test()
    Dim noA As Long, i As Long
    noA = Range("A" & Rows.Count).End(xlUp).Row
    For i = 1 To noA
        Range("A" & i) = Replace(Range("A" & i), Split(Range("A" & i).Text, "-")(0) & "-", "")
    Next
End Sub
.
 
Katılım
14 Şubat 2020
Mesajlar
2
Excel Vers. ve Dili
2016 Türkçe
@ÆSir :) selam

birinci soruna şu çözüm bulabilir, yukarıda cevap verildi mi görmedim.

Önce tabloyu seç sonra makroyu çalıştır.

---------------

Sub kucukharf()

Dim hucre As Range

For Each hucre In Selection
hucre.Replace What:="İ", Replacement:="i"
hucre.Replace What:="I", Replacement:="ı"
hucre.Value = LCase(hucre.Value)

Next

End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,272
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Alternatif,

Süre olarak avantaj sağlayacaktır.

C++:
Option Explicit

Sub Stok_Kodu_Duzenle()
    Dim S1 As Worksheet, Son As Long, X As Long
    Dim Bul As Integer, Veri As Variant, Zaman As Double
    
    Zaman = Timer
        
    Set S1 = Sheets("Sheet1")
    
    Son = S1.Cells(S1.Rows.Count, 1).End(3).Row
    Veri = S1.Range("A2:A" & Son).Value2
    
    For X = LBound(Veri) To UBound(Veri)
        Bul = InStr(1, Veri(X, 1), "-")
        If Bul > 0 Then
            Veri(X, 1) = Mid(Veri(X, 1), Bul + 1, Len(Veri(X, 1)) - Bul)
        End If
    Next
    
    With S1.Range("A2").Resize(UBound(Veri, 1))
        .NumberFormat = "@"
        .Value = Veri
    End With
    
    MsgBox "İşleminiz tamamlanmıştır." & Chr(10) & Chr(10) & _
          "İşlem süresi ; " & Format(Timer - Zaman, "0.00") & " Saniye"
End Sub
 
Üst