Türkçe kelimelerin manalarındaki tekrarlar

Katılım
15 Ocak 2010
Mesajlar
99
Excel Vers. ve Dili
Libre Office Türkçe
Merhaba,

Bu Word veritabanı dosyasındaki Türkçe kelimelerin sonu nokta işaretiyle biten İngilizce manalarından bir kısmı (Aynı Türkçe Kelimenin manası olarak) tekrar etmektedir. Eğer sizler için bir mahzuru yoksa, bu tekrarları ortaya kaldıran bir makro programını da sizlerden rica ediyorum.

İyi günler.



Not: Ekte örnek Word dosyası tekrar eden İngilizce manaları gösterir şekilde yer almaktadır.
 

Ekli dosyalar

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
Merhaba,
Ekteki dosyayı deneyin. Kısayol tuşu "CTRL Ğ". 2. ve son paragrafı deneme amacıyla ben oluşturdum. Denedikten sonra bu paragrafları silebilirsiniz.
Kod:
Sub Makro2()
For x = 1 To ActiveDocument.Paragraphs.Count
If Len(ActiveDocument.Paragraphs(x).Range) > 1 Then
deg = Split(ActiveDocument.Paragraphs(x).Range, ".")
For y = LBound(deg) To UBound(deg)
With ActiveDocument.Paragraphs(x).Range.Find
If Len(deg(y)) <= 1 Then GoTo Atla
If Len(deg(y)) > 40 Then GoTo Atla
Do
Say = Say + 1
    .Text = Trim(deg(y)) & "."
    .Replacement.Text = ""
    .Execute
    If .Found = True Then
    .Execute Replace:=wdReplaceOne
    End If
If Say >= UBound(deg) Then Exit Do
Loop While .Found = True
Say = 0
End With
Atla:
Next
End If
Next
MsgBox "İşlem tamam.", vbInformation, "Kodlayan: l e u m r u k"
End Sub
 

Ekli dosyalar

Katılım
15 Ocak 2010
Mesajlar
99
Excel Vers. ve Dili
Libre Office Türkçe
Merhaba, yukarıdaki makro programı başka Türkçe kelimelerin nokta işaretiyle biten aynı manalarını da ortadan kaldırıyor. Ancak benim istediğim makro programı ise, bu Word veritabanı dosyasındaki aynı Türkçe kelimelerin nokta işaretiyle biten tekrarlanmış manalarını tek hale dönüştürendir.

İyi Günler.

NOT: Bu Türkçe kelimelerin ortak özelliği:

1) Kendileri satır başında yer almaktadır (Ancak, her satır başında Türkçe kelime yer almayabilir.)
2) Kendilerinden önceki satır nokta işaretiyle bitmektedir.
3) Kendilerinden hemen sonra ise noktalı virgül işareti yer almaktadır.
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
Merhaba,
Aşağıdaki kodu deneyin. Kendinden önce ve sonra nokta bulunan kelimeleri teke indiriyor. Yine de denemekte fayda var. Arama kodunun karakter sınırı 256 olduğu için bu karakter sayısından büyük olan benzer verilere işlem yapmayacaktır.
Kod:
Sub macro3()
For x = 1 To ActiveDocument.Paragraphs.Count
If Len(ActiveDocument.Paragraphs(x).Range) > 1 Then
deg = Split(ActiveDocument.Paragraphs(x).Range, ".")
For y = LBound(deg) To UBound(deg)
deg2 = Split(ActiveDocument.Paragraphs(x).Range, deg(y))
If Len(deg(y)) <= 1 Then GoTo Atla
If Len(deg(y)) > 255 Then GoTo Atla
If UBound(deg2) > 1 Then
With ActiveDocument.Paragraphs(x).Range.Find
  .Text = Trim(deg(y)) & "."
  .Replacement.Text = ""
  .Forward = True
  .Execute
    For z = 1 To UBound(deg2) - 1
        If .Found = True Then
        MsgBox Trim(deg(y)) & "."
            .Execute Replace:=wdReplaceOne
            .Wrap = wdFindStop
        End If
    Next
End With
End If
Atla:
Next
End If
Next
MsgBox "İşlem tamam."
End Sub
 

Ekli dosyalar

Katılım
15 Ocak 2010
Mesajlar
99
Excel Vers. ve Dili
Libre Office Türkçe
Merhaba, leumruk.

Öncellikle yaptığınız yardımlardan ötürü size ne kadar teşekkür etsem azdır.

Yukarıdaki makro programıyla bulunan kelimeleri bir excel dosyasındaki sütuna aktaran bir makro programı ihtiyacımı tam olarak karşılayacaktır.

Sizi şu ana kadar çok yordum, bundan ötürü lütfen kusuruma bakmayınız.

İyi günler.
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
Merhaba,
Son sorunuz pek anlaşılmıyor. Ayrıca farklı bir uygulamaya giriyor. Sorunuzu ayrı bir başlık açarak daha anlaşılır şekilde izah eder misiniz? Örnek eklemeyi unutmayın. Bir excel dosyasına olmasını istediğiniz aktarmadan bir kaç örnek ekleyin
 
Katılım
15 Ocak 2010
Mesajlar
99
Excel Vers. ve Dili
Libre Office Türkçe
Merhaba,

Benim Word veritabanı dosyasındaki Türkçe kelimelerin sonu nokta işaretiyle biten İngilizce manalarından bir kısmının (Aynı Türkçe Kelimenin manası olarak) tekrar ettiğini sizlere beyan etmiştim ve sizlerin bu hususta bana çok yardımları olmuştu. Bundan ötürü sizlere çok teşekkür ederim.

Bu Word veritabanı dosyasındaki tüm Türkçe kelimeleri Excel dosyasına aktardım. Bu Türkçe kelimeleri Excel dosyasına aktarınca herbir Türkçe kelime İngilizce manalarıyla birlikte bir hücreyi işgal ediyor artık. Eğer sizler için bir mahzuru yoksa, her bir hücredeki İngilizce mana tekrarlarını ortadan kaldıran bir makro programını sizlerden rica ediyorum.

İyi günler.
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,471
Excel Vers. ve Dili
Office 2010 & 2013 tr
Veli Bey,
İsteğiniz excele yönelik. Dolayısıyla bu konunun dışında kalıyor. Sorunuzu; içerisinde bahsettiğiniz kelimelerden bir kısmının da bulunduğu örnek dosyayla birlikte yeni bir başlıkta sorunuz. "MAKRO VBA" bölümü sorunuz için uygun bir yer olabilir.
 
Üst