Excel Vba Forum - Excelce.Net

SORU ve CEVAPLAR (Yazılabilir) => Microsoft Excel, Vba, Makro, Formül vb. Soruları => Çözülen Excel, Vba, Makro, Formül vb. Soruları => Konuyu başlatan: voleybolcu - 15 Ekim 2011, 11:03:24

Başlık: Aynı yazılışa sahip kelimeler
Gönderen: voleybolcu - 15 Ekim 2011, 11:03:24
Merhaba. Böyle bir hizmeti sunmanızdan ötürü, sizlere çok teşekkür ederim.

Bende bir Excel veritabanı dosyası var. Onun özellikleri ise şu şekildedir:

1) Excel dosyasının 1 inci sayfasının "A" sütunundaki hücrelerde İngilizce kelimeler ile bu İngilizce kelimelerin Türkçe anlamları yer almaktadır.

2) Bu İngilizce kelimeler, her hücre içerisinde en başta yer almaktadır.

3) Bu İngilizce kelimelerden hemen sonra  noktalı virgül işareti gelmekte olup, noktalı virgül işaretinin hemen sonrasında ise İngilizce kelimelerin Türkçe anlamları gelmektedir.

4)Ayrıca, her Türkçe anlamdan sonra nokta işareti veya virgül işareti gelmektedir.


Sonuç olarak, İngilizce kelimelerden bazılarının aynı yazılışa sahip Türkçe anlamları olmasından ötürü, söz konusu İngilizce kelimeleri bulan ve bu Excel dosyasının 2 inci sayfasındaki “A” sütununa yazan bir makro programını sizlerden rica ediyorum.

Buna ilişkin örnek bir dosyayı mesajıma ekledim.

İyi günler.
Başlık: Ynt: Aynı yazılışa sahip kelimeler
Gönderen: Bülent Öztürk - 15 Ekim 2011, 18:48:44
Merhaba Ayşe Hanım,

Sadece Türkçe ve İngilizce yazılışları aynı olan kelimeleri mi listelemek istiyorsunuz?

Şu şekilde deneyin;
Kod: [Seç]
Sub ExcelceAyniBul()
Dim excelce As Long, s2son As Long
Dim kelimem As String, trkelime As String, enkelime As String
Dim bulent As Long
'http://www.excelce.net/forum/index.php?topic=968.0
For excelce = 1 To Worksheets("Sayfa1").Range("A65530").End(3).Row
    kelimem = Worksheets("Sayfa1").Range("A" & excelce)
    trkelime = VBA.Left(kelimem, VBA.InStr(1, kelimem, ";") - 1)
    enkelime = VBA.Mid(kelimem, VBA.InStr(1, kelimem, ";") + 1, VBA.Len(kelimem) - VBA.Len(trkelime))
    If enkelime Like trkelime & "*" Then
        bulent = bulent + 1
        s2son = Worksheets("Sayfa2").Range("A65530").End(3).Row + 1
        Worksheets("Sayfa2").Range("A" & s2son) = kelimem
    End If
Next excelce
MsgBox "Eşleşen " & bulent & " kayıt aktarıldı.", vbInformation, "İşlem tamam"
End Sub
Başlık: Ynt: Aynı yazılışa sahip kelimeler
Gönderen: voleybolcu - 15 Ekim 2011, 20:26:44
Bülent bey, size çok teşekkür ederim.

:)
Başlık: Ynt: Aynı yazılışa sahip kelimeler
Gönderen: Bülent Öztürk - 16 Ekim 2011, 20:13:41
Rica ederim.
Çalışmalarınızda başarılar.