Birden Fazla Arama Sonucunun Tek Bir Hucrede Yazilmasi

[quote author=”- akin.isik”]Selamlar,
Öncelikle sitenizin yardımları ve emekleriniz için teşekkür ederim.
Çok faydalı şeyler öğrendim diyebilirim.
Ben exel konusunda çok iyi değilim kendimi geliştirmeye çalışıyorum.
Örnek dsoyada göreceğiniz ilk sheet de bir tablom var.
Bu tablo ikinci sheette ki üretilen ürünlerin rakamlarının toplamını aylık olarak gösteriyor.
Benim yapmak istediğim;
ürünün kodunu yazıp çalıştırdığımda talodaki bomboboxların içine o aya ait parti numaralarını getirmek.
Örneğin X ürünü için Ocak ayında 2 parti numarası var.X ürününü sorguladığımda ocak ayının satırındaki bombobox a bu iki parti numarasını getirsin.
Böyle birşey mümkünmü veya daha farklı bir yolu varsa önerilerinizi bekliyorum.
Teşekkürler.[/quote]

Oncelikle calismanizda combobox kullanimini desteklemedigim icin farkli bir cozum urettigimi soylemeliyim, Bu tarz bir kullanimda cikicak sorunlari hem duzeltmesi hemde yorumlamasi daha zor olacaktir.

Bu cozumun yerine rahatlikla kullanabileceginiz bir kullanici tanimli fonksiyon (KTF) ile bir cozum sunmak istiyorum. Tablolariniz arasinda iki kriterinizi birlestiren bir veri kullaniyorsunuz ve tek kriter haline getiriyorsunuz. Daha sonra bu kriteri ayni Vlookup fonksiyonunda oldugu gibi arama yapiyorsunuz fakat sonuc istediginiz bir karakter ile ayrilarak hucreye doluyor.

Bunun icin uyguladigimiz KTF,

Function Ara_birles(Var As Variant, _
    Optional Ayrac As String = ",", _
    Optional Exc As Boolean = True) As String
    Dim a, v
    If TypeOf Var Is Range Or IsArray(Var) Then
        a = Var
        For Each v In a
            Ara_birles = Ara_birles & Ayrac & v
        Next
        If Len(Ara_birles) > 1 Then
            If Exc Then
                Ara_birles = Trim$(Replace(Replace(Mid$(Trim$(Ara_birles), 2), _
                Ayrac & "False", ""), "False" & Ayrac, ""))
            Else
                Ara_birles = Mid$(Trim$(Ara_birles), 2)
            End If
        End If
    Else
       Ara_birles = Var
      End If
End Function

fonksiyonda kullanimi ise asagidaki gibidir, ornek dosyadan araliklari inceleyerek kontrol ediniz;

Ara_birles(IF(Urun_Kodu[Reference_cell]=Tablo!B3,Urun_Kodu[Parti]),”,”)

Birden Fazla Arama Sonucunun Tek Bir Hucrede Yazilmasi

Yazar: demo demo

2004 yilindan itibaren ozel bir sirketin finans departmaninda calismaktadir. Kendini excel, visual basic kullaniminda gelistirmis olan yazarimiz; Meslegi geregi SAP konusunda ileri derecede bilgilidir.

“Birden Fazla Arama Sonucunun Tek Bir Hucrede Yazilmasi” için 1 yorum

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


1 + 4 =