• DİKKAT

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

Hücre içinde 2 farklı kelime arama

  • Konbuyu başlatan Konbuyu başlatan Alanore
  • Başlangıç tarihi Başlangıç tarihi
Katılım
12 Ekim 2017
Mesajlar
2
Excel Vers. ve Dili
2010
Merhaba,

Elimde stok verileri var. Bunu makro ile daha anlaşılır ve basit hale getirmek istiyorum.
Örnek tablom;

Adı ------------------------------------- |Miktar -|OlcuBirimi
PARİS AYNALI ŞİFONYER PAKET 6-1 |31,00 |Adet
PARİS AYNALI ŞİFONYER PAKET 6-2 |31,00 |Adet
PARİS AYNALI ŞİFONYER PAKET 6-3 |32,00 |Adet
PARİS AYNALI ŞİFONYER PAKET 6-4 |29,00 |Adet
PARİS AYNALI ŞİFONYER PAKET 6-5 |30,00 |Adet
PARİS AYNALI ŞİFONYER PAKET 6-6 |24,00 |Adet
İSTANBUL AYNALI ŞİFONYER PAKET 3-1 |0,00 |Adet
İSTANBUL AYNALI ŞİFONYER PAKET 3-2 |0,00 |Adet
İSTANBUL AYNALI ŞİFONYER PAKET 3-3 |0,00 |Adet


A stununda birbirinden farklı 1500 adet hücre var. Ben A stunundaki stok isimlerinde "PARİS" VE "ŞİFONYER" kelimelerinin aynı anda geçtiği hücreleri bulup, bunların karşısındaki sayılardan en küçüğünü getirmesini istiyorum. Yani ben yeni sayfada A1 hücresine "PARİS ŞİFONYER" manuel olarak (yada nasıl yazdırmam uygun olur?) yazacağım fakat B1 hücresine yazdığım formül sayesinde bana en düşük sayı olan 24 sayısını getirmeli.

5 gündür min, düşeyara, mbul, indis, kaçıncı vs. kombinasyonlarını deneyerek yapmaya çalışıyorum. İki kelimenin aynı hücrede aynı anda bulunma koşulunu bir türlü sağlayamadım. Umarım yardım eden çıkar.
 
Merhaba,
A sütununda malzeme isimleri, B sütununda adet olarak en küçüğünü bulmak istediğiniz sayıların bulunduğunu varsayarak aşağıdaki kodları yazdım.

Kod:
Sub en_kucuk_miktar()
Dim sh As Worksheet, ss As Long, z As Object, veri As Object
Dim sat As Long

Set sh = Sheets("Sayfa1")
ss = sh.Range("A56789").End(3).Row
Set z = CreateObject("VBScript.regexp")
    z.Global = True
    z.Pattern = "(AYNALI)|(ŞİFONYER)"
    For i = 1 To ss
        Set veri = z.Execute(sh.Range("A" & i).Value)
        If veri.Count = 2 And sh.Cells(i, 2).Value > 0 Then
            If i > 1 Then
                deg = (sh.Cells(i, 2).Value * 1)
                If deg < az Then
                    az = deg
                    sat = i
                End If
            ElseIf i = 1 Then
                deg = (sh.Cells(i, 2).Value * 1)
                az = deg
                sat = i
            End If
        End If
    Next i
    MsgBox "Aranan verilerden en düşük değeri içeren: " & _
            az & vbCrLf & "Bulunduğu satır: " & sat, vbInformation, "antonio"
End Sub
 
O kadar zaman uğraştıktan sonra cevabın bu kadar kısa sürede gelmesi beni şok etti. Çok teşekkür ederim vakit ayırdığınız için. Sağolun.
 
O kadar zaman uğraştıktan sonra cevabın bu kadar kısa sürede gelmesi beni şok etti. Çok teşekkür ederim vakit ayırdığınız için. Sağolun.
Makroların gücü, onları anlamaya başladıktan sonra daha iyi anlaşılır.
İyi çalışmalar.
 
Alternatif olarak Sn. muygun'un eklediği dosyada C2 hücresine aşağıdaki DİZİ formülü uygulayarak kullanabilirsiniz.

Kod:
=MİN(EĞER(EĞER(ESAYIYSA(MBUL(rapor!A2;data!A2:A41));SATIR(data!A2:A41))=EĞER(ESAYIYSA(MBUL(B2;data!A2:A41));SATIR(data!A2:A41));data!B2:B41))
 
Merhaba arkadaşlar. ben excell'i uzun zamandır kullanıyorum ama makrolardan anlamıyorum.Bende arkadaşın dediği gibi bir sayfadaki hücrelerden içinde aradığım iki kelime geçenleri bulmak istiyorum. Mesela "PARİS" VE "ŞİFONYER" kelimelerinin aynı anda geçtiği hücreleri istiyorum. nasıl yapabilirim.
 
Merhaba arkadaşlar. ben excell'i uzun zamandır kullanıyorum ama makrolardan anlamıyorum.Bende arkadaşın dediği gibi bir sayfadaki hücrelerden içinde aradığım iki kelime geçenleri bulmak istiyorum. Mesela "PARİS" VE "ŞİFONYER" kelimelerinin aynı anda geçtiği hücreleri istiyorum. nasıl yapabilirim.

yani eğer makro şart değilse, örneğin a1 den a9 a kadar

paris şifonyer
paris
şifonyer
paris şifonyer
paris şifonyer
paris
şifonyer
şifonyer
şifonyer

şeklinde giden satırlar olduğunu düşünelim, siz sadece "paris şifonyer" yazan hücre sayısını arıyorsanız ; =EĞERSAY(A1:A9;"paris şifonyer") formülünü kullanabilirsiniz. tırnak işaretlerinin arasına aramak istediğiniz kelimeyi yazarak deneyebilirsiniz
 
tam anlatamadım ben herhalde. şöyle düşünün stok kayıtlarında bir malzeme arıyorum misal "çekiç sapı" ama, "çekiç sap" yada "sap çekiç" yada "saplı çekiç" olarak yazılmış olabilir. ben normal ctrl+f komutuyla aradığımda tam yazımını girmeyince çıkmıyor. dolayısıyla hem içinde sap hemde çekiç geçen hücreleri bulmak istiyorum.
 
A1 de malzeme ismi yazılı ise B1 kopyala yapıştır.Koşullu biçimlendirme ile de yapılabilir.
Örnek dosya yükleyip linki burda paylaşırsan daha kolay çözüm bulunabilir.Kolay gelsin.
Kod:
=EĞER(EĞERSAY(A1:A1;"*çekiç*")+EĞERSAY(A1:A1;"*sap*")>=1;"Var";"Yok")
 
Geri
Üst