Soru Düşeyara ile Birden fazla veri çekmek

bulentkars

Altın Üye
Katılım
5 Ağustos 2005
Mesajlar
659
Excel Vers. ve Dili
2003 TR
Altın Üyelik Bitiş Tarihi
23-03-2027
Arkadaşlar Merhaba,
Ekteki tabloda örnek olarak belirttim. burada yapmak istediğim ürün kodunu girdiğim zaman Log Sayfasından aynı ürünlerin son 20 girişini görmek istiyorum, ancak düşeyara ile yaptığımda sadece 1 satırı alabiliyorum, yardımcı olabilirseniz sevinirim. Şİmdiden Teşekkürler
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,548
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
LOG sayfasının A sütununa bir boş sütun eklerseniz DÜŞEYARA ile sonuca gidebilirsiniz. Bunun dışında tablonuzun bu haliyle İNDİS+KÜÇÜK+EĞER kombinasyonu ile sonuca gidilebilir.
 

bulentkars

Altın Üye
Katılım
5 Ağustos 2005
Mesajlar
659
Excel Vers. ve Dili
2003 TR
Altın Üyelik Bitiş Tarihi
23-03-2027
Korhan Bey,

Log sayfasındaki veriler çok fazla ve ürün kodları alt alta değil, sutun oluşturmadan formül yaparak paylaşabilirseniz sevinirim.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Fonksiyon olarak sormuşsunuz ama makroyla daha kolay olur diye düşünüyorum. Makroyla isterseniz aşağıdaki kodları Talep sayfasının kod bölümüne (sayfa adına sağ tıklayıp kod görüntüle deyince açılan sayfaya) yapıştırıp deneyin. B3 hücresini değiştirdiğinizde istediğiniz işlemi gerçekleştirir:

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [B3]) Is Nothing Then Exit Sub

[E6:J25].ClearContents
If Target = "" Then Exit Sub
Set con = VBA.CreateObject("adodb.Connection")
con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=yes"""

sorgu = "select Tarih, [Günü Geçen Hesap], [Günü Geçen Hesabın Ortalama Vadesi], [Toplam Risk], [Talep Edilen İlave Limit], Açıklama from [Log$] where [Ürün Kodu]=" & Target & " order by [Tarih] desc"
Set rs = con.Execute(sorgu)
[E6].CopyFromRecordset rs
son = WorksheetFunction.Max(26, Cells(Rows.Count, "E").End(3).Row)
Range("E26:J" & son).ClearContents

End Sub
 

bulentkars

Altın Üye
Katılım
5 Ağustos 2005
Mesajlar
659
Excel Vers. ve Dili
2003 TR
Altın Üyelik Bitiş Tarihi
23-03-2027
Korhan Bey,
Yusuf Bey,
sizlere çok çok teşekkir ediyorum. 3 alternatifte işime yaradı.. Allah razı olsun
 

srknclk55

Altın Üye
Katılım
21 Haziran 2022
Mesajlar
30
Excel Vers. ve Dili
2013 2019 türkçe
Altın Üyelik Bitiş Tarihi
22-06-2027
Teşekkür ederim inceliyorum.
 

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,158
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A1]) Is Nothing Then Exit Sub

[A3:O65536].ClearContents
If Target = "" Then Exit Sub
Set con = VBA.CreateObject("adodb.Connection")
con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=no"""

sorgu = "select F24,F7,F8,F4,'KIYAFET','İŞLETME',F9,'ADET',F26,F25,F1,F3,F10,F13,F27 from [Talep$] where f7=" & Target & " order by f1 desc"
Set rs = con.Execute(sorgu)
[A3].CopyFromRecordset rs
son = WorksheetFunction.Max(3, Cells(Rows.Count, "G").End(3).Row)
'Range("E26:J" & son).ClearContents

End Sub
Yukarıdaki kod ile f7 sutunundaki malzeme kodlarına göre Talep Sayfasından sorgulama yapabiliyorum, buna ilaveten f22 sutununda saadece Geldi yazanların listelenmesi için sorguda nasıl bir değişirklik yapmalıyım.
Yardımcı olacak arkadaşlara şimdiden teşekkür ederim
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Aşağıdaki satırlardan biri olur muhtemelen:

sorgu = "select F24,F7,F8,F4,'KIYAFET','İŞLETME',F9,'ADET',F26,F25,F1,F3,F10,F13,F27 from [Talep$] where f7=" & Target & " and f22='Geldi' order by f1 desc"
sorgu = "select F24,F7,F8,F4,'KIYAFET','İŞLETME',F9,'ADET',F26,F25,F1,F3,F10,F13,F27 from [Talep$] where f7=" & Target & " and f22=Geldi order by f1 desc"
 

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,158
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Sn. @YUSUF44 Cevabınız için çok teşekkür ediyorum, aşağıdaki kod ile oldu. Çok sağolasınız.

Kod:
sorgu = "select F24,F7,F8,F4,'KIYAFET','İŞLETME',F9,'ADET',F26,F25,F1,F3,F10,F13,F27 from [Talep$] where f7=" & Target & " and f22='Geldi' order by f1 desc"
 
Üst