• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

cümle içinde kelime arama

Katılım
20 Nisan 2008
Mesajlar
43
Excel Vers. ve Dili
2010 türkçe
Sayın serdarokan,

Kodlarınız burada
 
Sayın serdarokan,

Kodlarınız burada

hocam çok teşekkürler elinize emeğinize sağlık istediğim sonucu alıyorum ama ;

sonuç sadece E3 ve F3 hücresinde çıkıyor (örnek dosyada oraya sadece açıklama yapmak amacıyla yazmıştım) sonuçları E SÜTUNU ve F sütununda olacak şekilde ;

tek tek tıklayıp aramak yerine

For i = 1 To 25000
Cells(i, 3).value = Bulunacak

gibi ; (vba kodlama bilmiyorum;)

makro çalışınca arama kriteri olan B sütunundaki 25000 satırı sorgulayıp ;
her arama kriterinin sonucunu karşısına E ve F sütununa nasıl alabiliriz?

hocam ikinci bir sorun örnek olarak;

"ocak ithalat" kelimesini aramak istediğimizde
"2016 OCAK ayı itibariyle İTHALAT rakamları" cümlesinde arada başka kelimeler olsada içinde "ocak ithalat" kelimeleri geçtiğinden bu cümlenin olduğu hücre adresini ve karşılığını alabilirmiyiz.

yardımlarınız için teşekkürler

(örnek dosya revize)
https://ccccferhatmutlu.sharefile.com/d-s74e527f7b0a48bcb
 
Son düzenleme:
Selamlar
Ustalar sayın dEdE yardımcı oldu sağolsun ama sanırım ben yanlış anlattım; kodlarda birkaç satırda düzeltme yapacaktı vakti olmadı galiba. Gerekli açıklamaları alttaki mesajda ve örnek dosyada yapmıştım yardımcı olabilirmisiniz.. saygılar.
 
Son düzenleme:
sonuç sadece E3 ve F3 hücresinde çıkıyor (örnek dosyada oraya sadece açıklama yapmak amacıyla yazmıştım) ...

Demek ki; Örnek dosyamız gerçek dosyamızla aynı olmalıymış.

...hocam ikinci bir sorun örnek olarak;
"ocak ithalat" kelimesini aramak istediğimizde "2016 OCAK ayı itibariyle İTHALAT rakamları" cümlesinde arada başka kelimeler olsada içinde "ocak ithalat" kelimeleri geçtiğinden bu cümlenin olduğu hücre adresini ve karşılığını alabilirmiyiz.

Olabileceğini sanıyorum, ama beni aşar.
Sorunuzun ilk bölümü için aşağıdaki kodları dener misiniz?
Kod:
Sub Ara()
For i = 3 To 2500
    Bulunacak = Cells(i, 2).Value
    If Bulunacak = "" Then GoTo Atla
    Set Aranan = Range("I:I").Find(Bulunacak, , xlValues, xlPart)
        If Not Aranan Is Nothing Then
            adres = Aranan.Address
            Do
                PAdres = PAdres + Range(Aranan.Address).Offset(0, -1).Address + ","
                Parti = Parti + Range(Aranan.Address).Offset(0, 1).Value + ","
                Set Aranan = Range("I:I").FindNext(Aranan)
            Loop While Not Aranan Is Nothing And Aranan.Address <> adres
        End If
    
    If adres = "" Then
        MsgBox Bulunacak & "  bu sayfada yok."
        GoTo Atla
    End If
        Cells(i, 6).Value = PAdres
        Cells(i, 5).Value = Parti
        PAdres = ""
        Parti = ""
Next i
Atla:
  Columns("F:F").Replace What:="$", Replacement:=""
MsgBox " İşlem Tamamlandı. ", vbInformation, "dEdE  " & _
Application.UserName & "'e Başarılar Diler."
End Sub
 
Sayın frtnuma
Aşağıdaki kod C sütununa Parti, D Sütunda Hücre adresini yazıyor.
Kod:
Sub Makro6()
For e = 3 To 14
Aranan = Range("b" & e)
say = Application.CountIf(Columns("I"), "*" & Aranan & "*")
If say > 0 Then
Range("I2").Select
Set ss = Columns("I").Find(What:=Aranan)
For i = 1 To say
Columns("I").FindNext(After:=ActiveCell).Activate
Parti = Parti & ", " & ActiveCell.Offset(0, 1)
adres = adres & ", " & Replace(ActiveCell.Address, "$", "")
Next
Range("c" & e).Value = Mid(Parti, 3)
Range("d" & e).Value = Mid(adres, 3)
Parti = ""
adres = ""
End If
Next
End Sub
 
Son düzenleme:
Sayın frtnuma
Sorunuzun ikinci kısmına dikkat etmemiş. Onu da kapsayan örneğin link'i ve kodlar aşağıda
Not: Cümle içinde aranacak B sütunundaki kelimelerin arasına boşluk koyarak iki veya daha fazla kelime aratabilirsiniz.
http://s4.dosya.tc/server/7vhi8f/cumle_icinde_arama.zip.html
Kod:
Sub Makro7()
For e = 3 To 14
Aranan = "*" & Replace(Range("b" & e), " ", "**") & "*"
'Aranan = "*" & "ocak" & "**" & ithalat & "*"
say = Application.CountIf(Columns("I"), Aranan)
If say > 0 Then
Range("I2").Select
Set ss = Columns("I").Find(What:=Aranan)
For i = 1 To say
Columns("I").FindNext(After:=ActiveCell).Activate
Parti = Parti & ", " & ActiveCell.Offset(0, 1)
adres = adres & ", " & Replace(ActiveCell.Address, "$", "")
Next
Range("c" & e).Value = Mid(Parti, 3)
Range("d" & e).Value = Mid(adres, 3)
Parti = ""
adres = ""
End If
Next
End Sub
 
Son düzenleme:
çok teşekkürler üstadlar sayın alicimri, sayın dEdE elinize sağlık kodlar süper çalışıyor sorunumu çözdüm..
 
Merhaba. Bende Benzer bir sorun yaşıyorum.

2 sayfa oluşturdum. Birisinde kelimeler var diğerinde cümleler. İkisi de kendi sayfasının C sutununda. Cümlelerin içerisinde bu kelimeler var mı yok mu aratsın eğer varsa hangi satırda ise bulduğu kelime o satırın E sutunundaki değeri, cümleler sayfasında ki E karşılık gelen sutununa yazsın.

Örnek vereyim. Cümleler sayfasından C54 hücresinin içerisinde, kelimeler sayfasındaki C sutunundaki hangi kelimeler varsa (örn; c78, c45 vs ) bunlara karşılık gelen (e78, e45 vs) değerlerini, cümleler sayfasındaki E54 içerisine yazsın. İşallah anlatabilmişimdir. :) yardımlarınızı bekliyorum arkadaşlar.
 
Geri
Üst