[Çözüldü]  Tarihi en yakın olanı listele-VEDAT ÖZER

VBA Makrolar ile ilgili sormak istedikleriniz, yapmak istedikleriniz hakkında yardım alabileceğiniz bölümdür.

Tarihi en yakın olanı listele-VEDAT ÖZER

İleti#1)  Bedrettin DEMİRCİ » 10 Haz 2019 13:56

Merhaba Vedat bey
Siz yapmıştınız bu çalışmayı
o zaman farketmedim ama şimdi hatalı oluyor
Tarih taramasında en yakın tarihi değilde sıralamada en altta kalan tarihi baz alıyor
sıralama yapmadan yapabilir mi ?
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
Bedrettin DEMİRCİ
Site Dostu
 
Kayıt: 19 Oca 2015 09:45
Meslek: MUHASEBE
Yaş: 38
İleti: 1680
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA-ATB/YENİMAHALLE

Cevap: Tarihi en yakın olanı listele-VEDAT ÖZER

İleti#2)  Ali ÖZ » 11 Haz 2019 08:50

Merhaba,
Konuyu tam olarak bilmiyorum ama
Sorgudaki last fonksiyonlarını max olarak değiştirip deneyin.
Allah bize yeter, O ne güzel vekildir.
حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 10:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 38
İleti: 9826
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

Cevap: Tarihi en yakın olanı listele-VEDAT ÖZER

İleti#3)  Bedrettin DEMİRCİ » 11 Haz 2019 13:24

Kod bu
Max yaptım ama olmadı..

sorgu = "SELECT [H].F7,LAST([H].F8),LAST([H].F5),LAST([H].F10),LAST([H].F13) from [Tek_Liste$] AS [H] "
Kullanıcı avatarı
Bedrettin DEMİRCİ
Site Dostu
 
Kayıt: 19 Oca 2015 09:45
Meslek: MUHASEBE
Yaş: 38
İleti: 1680
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA-ATB/YENİMAHALLE

Cevap: Tarihi en yakın olanı listele-VEDAT ÖZER

İleti#4)  Ali ÖZ » 11 Haz 2019 13:34

Yapmak istediğiniz tam olarak nedir ?
Allah bize yeter, O ne güzel vekildir.
حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 10:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 38
İleti: 9826
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: Tarihi en yakın olanı listele-VEDAT ÖZER

İleti#5)  Bedrettin DEMİRCİ » 11 Haz 2019 14:10

Cari bazlı Satış Stok listesi var
istenen carinin yıl boyunca aldığı stok adı ve alış fiyatını tek liste halinde listeleyecek
ve fiyat alırken en yakın tarihli veya en büyük tarihli olan fiyat ve tarihini alacak
Kullanıcı avatarı
Bedrettin DEMİRCİ
Site Dostu
 
Kayıt: 19 Oca 2015 09:45
Meslek: MUHASEBE
Yaş: 38
İleti: 1680
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA-ATB/YENİMAHALLE

Cevap: Tarihi en yakın olanı listele-VEDAT ÖZER

İleti#6)  Bedrettin DEMİRCİ » 11 Haz 2019 14:17

Aşağıda bir cariye satılan bir stoğu örnek yazdım
her cariye birçok stok satışı yapılıyor
satılan stokları birer birer listeleyecek
ve en son tarih kaçtan verilmişse o tarihi v efiyatı listeleyecek

Cari : MİNA KİMYA HAYV. GIDA MAK.SAN.VE TİC.LTD.ŞTİ.

15.02.2019 101 NATURPY PYNUT % 100 FISTIK EZMESI 360 GR
16.03.2019 101 NATURPY PYNUT % 100 FISTIK EZMESI 360 GR
17.04.2019 101 NATURPY PYNUT % 100 FISTIK EZMESI 360 GR
30.05.2019 101 NATURPY PYNUT % 100 FISTIK EZMESI 360 GR
30.01.2019 101 NATURPY PYNUT % 100 FISTIK EZMESI 360 GR
28.02.2019 101 NATURPY PYNUT % 100 FISTIK EZMESI 360 GR
10.05.2019 101 NATURPY PYNUT % 100 FISTIK EZMESI 360 GR
19.05.2019 101 NATURPY PYNUT % 100 FISTIK EZMESI 360 GR
Kullanıcı avatarı
Bedrettin DEMİRCİ
Site Dostu
 
Kayıt: 19 Oca 2015 09:45
Meslek: MUHASEBE
Yaş: 38
İleti: 1680
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA-ATB/YENİMAHALLE

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Cevap: Tarihi en yakın olanı listele-VEDAT ÖZER

İleti#7)  Ali ÖZ » 12 Haz 2019 10:49

Deneyin.

Kod: Tümünü seç
SORGU = "SELECT F8,MAX(F5),FIRST(F13) from [Tek_Liste$] WHERE F4 = '" & Range("P2") & "' AND F11 IS NOT NULL GROUP BY F8 ORDER BY F8 DESC"
Allah bize yeter, O ne güzel vekildir.
حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 10:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 38
İleti: 9826
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

Cevap: Cevap: Tarihi en yakın olanı listele-VEDAT ÖZER

İleti#8)  Bedrettin DEMİRCİ » 12 Haz 2019 11:08

Ali ÖZ yazdı:Deneyin.

Kod: Tümünü seç
SORGU = "SELECT F8,MAX(F5),FIRST(F13) from [Tek_Liste$] WHERE F4 = '" & Range("P2") & "' AND F11 IS NOT NULL GROUP BY F8 ORDER BY F8 DESC"



Tarih doğru geliyor ama o tarihteki fiyatı almıyor
Kullanıcı avatarı
Bedrettin DEMİRCİ
Site Dostu
 
Kayıt: 19 Oca 2015 09:45
Meslek: MUHASEBE
Yaş: 38
İleti: 1680
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA-ATB/YENİMAHALLE

Cevap: Tarihi en yakın olanı listele-VEDAT ÖZER

İleti#9)  Ali ÖZ » 12 Haz 2019 12:33

Buyurun.

Kod: Tümünü seç
     sorgu = "select t1.f8,t1.f5,t1.f13 from [Tek_Liste$] t1"
     sorgu = sorgu & " inner Join (select F8, Max(F5) as Tarih from [Tek_Liste$] group by F8) t2 on t1.F8 = t2.F8 and t1.f5 = t2.tarih"
     sorgu = sorgu & " where t1.F4 = '" & Range("p2") & "' and t1.f11 is not null"
Allah bize yeter, O ne güzel vekildir.
حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 10:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 38
İleti: 9826
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

Cevap: Tarihi en yakın olanı listele-VEDAT ÖZER

İleti#10)  Bedrettin DEMİRCİ » 12 Haz 2019 13:41

Ali bey
deneme yaptım şu sonuçlar aulaştım:

Mesela Ayta yapı firmasını eksik listeliyor
Caner serin firmasını hiç vermiyor
Bildirici sadece 4 stoğu veriyor
ve ayrıca Yeni çağdaş firmasını listeliyor ama aynı stoğu birden fazla veriyor
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
Bedrettin DEMİRCİ
Site Dostu
 
Kayıt: 19 Oca 2015 09:45
Meslek: MUHASEBE
Yaş: 38
İleti: 1680
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA-ATB/YENİMAHALLE

Cevap: Tarihi en yakın olanı listele-VEDAT ÖZER

İleti#11)  Ali ÖZ » 12 Haz 2019 23:58

Sorgusunu yazdım bence doğru çalışıyor,kontrol edin.

Excel için bağlantı cümlesinde hdr=yes olarak değiştirip deneyebilirsiniz.


Kod: Tümünü seç
sorgu = " Select t.[Cari Ünvan],t.[Stok Kodu],t.Tarih,t.[Stok Adı],t.Çıkan,t.Fiyat from [Tek_Liste$] t " & _
" inner join (SELECT [Stok Kodu],MAX([Tarih]) as tarih1 FROM [Tek_Liste$] " & _
" WHERE [Cari Ünvan] = '" & Range("P1").Value & "' GROUP BY [Stok Kodu]) a " & _
" on a.[Stok Kodu] = t.[Stok Kodu] and a.tarih1 = [Tarih]" & _
" where t.[Cari Ünvan] = '" & Range("P1").Value & "' order by [Stok Kodu]"
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Allah bize yeter, O ne güzel vekildir.
حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 10:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 38
İleti: 9826
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

Cevap: Tarihi en yakın olanı listele-VEDAT ÖZER

İleti#12)  Bedrettin DEMİRCİ » 13 Haz 2019 07:17

Kod bu şekilde mi olacak ?

Sub LISTELE_TAMAMLANAN()
Dim son As Long
son = Range("D65536").End(3).Row
Zaman = Timer
On Error Resume Next
ActiveSheet.ShowAllData
On Error GoTo 0
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
.EnableEvents = False
End With
Set con = VBA.CreateObject("adodb.Connection")
Set RS = VBA.CreateObject("adodb.Recordset")
con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=yes"""
Range("P3:T" & Rows.Count).ClearContents
Set RS = VBA.CreateObject("adodb.Recordset")


sorgu = " Select t.[Cari Ünvan],t.[Stok Kodu],t.Tarih,t.[Stok Adı],t.Çıkan,t.Fiyat from [Tek_Liste$] t " & _
" inner join (SELECT [Stok Kodu],MAX([Tarih]) as tarih1 FROM [Tek_Liste$] " & _
" WHERE [Cari Ünvan] = '" & Range("P1").Value & "' GROUP BY [Stok Kodu]) a " & _
" on a.[Stok Kodu] = t.[Stok Kodu] and a.tarih1 = [Tarih]" & _
" where t.[Cari Ünvan] = '" & Range("P1").Value & "' order by [Stok Kodu]"

RS.Open sorgu, con
Range("P3").CopyFromRecordset RS
sorgu = ""
Range("p1") = Range("p1")
With Application
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
.EnableEvents = True
End With
Range("P1").Select
MsgBox "İşleminiz Tamamlanmıştır. " & Chr(10) & Chr(10) & _
"İşlem süresi ; " & Format((Timer - Zaman) / 60, "0.00") & " Saniye", vbInformation, "VEDAT ÖZER"
End Sub
Kullanıcı avatarı
Bedrettin DEMİRCİ
Site Dostu
 
Kayıt: 19 Oca 2015 09:45
Meslek: MUHASEBE
Yaş: 38
İleti: 1680
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA-ATB/YENİMAHALLE

Cevap: Tarihi en yakın olanı listele-VEDAT ÖZER

İleti#13)  Ali ÖZ » 13 Haz 2019 08:16

Bu şekilde kullanabilirsiniz.

Kod: Tümünü seç
Sub LISTELE_TAMAMLANAN()
Dim son As Long
son = Range("D65536").End(3).Row
    Zaman = Timer
    On Error Resume Next
    ActiveSheet.ShowAllData
    On Error GoTo 0
    With Application
        .ScreenUpdating = False
        .Calculation = xlCalculationManual
        .EnableEvents = False
    End With
    Set con = VBA.CreateObject("adodb.Connection")
    Set RS = VBA.CreateObject("adodb.Recordset")
    con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
    ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=yes"""
    Range("P3:T" & Rows.Count).ClearContents
    Set RS = VBA.CreateObject("adodb.Recordset")
sorgu = "Select Distinct t.[Stok Kodu],t.[Stok Ad?],t.Tarih,t.??kan,t.Fiyat from [Tek_Liste$] t " & _
" inner join (SELECT [Stok Kodu],MAX([Tarih]) as tarih1 FROM [Tek_Liste$] " & _
" WHERE [Cari ?nvan] = '" & Range("P1").Value & "' GROUP BY [Stok Kodu]) a " & _
" on a.[Stok Kodu] = t.[Stok Kodu] and a.tarih1 = t.[Tarih]" & _
" where t.[Cari ?nvan] = '" & Range("P1").Value & "' order by t.[Stok Kodu]"
     
    RS.Open sorgu, con
    Range("P3").CopyFromRecordset RS
    sorgu = ""
    Range("p1") = Range("p1")
    With Application
        .ScreenUpdating = True
        .Calculation = xlCalculationAutomatic
        .EnableEvents = True
    End With
    Range("P1").Select
    MsgBox "??leminiz Tamamlanm??t?r. " & Chr(10) & Chr(10) & _
           "??lem s?resi ; " & Format((Timer - Zaman) / 60, "0.00") & " Saniye", vbInformation, "VEDAT ?ZER"
End Sub
Allah bize yeter, O ne güzel vekildir.
حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 10:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 38
İleti: 9826
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

Cevap: Tarihi en yakın olanı listele-VEDAT ÖZER

İleti#14)  Bedrettin DEMİRCİ » 13 Haz 2019 13:39

Aynı kodu çalıştırdım ama liste yanlış
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
Bedrettin DEMİRCİ
Site Dostu
 
Kayıt: 19 Oca 2015 09:45
Meslek: MUHASEBE
Yaş: 38
İleti: 1680
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA-ATB/YENİMAHALLE

Cevap: Tarihi en yakın olanı listele-VEDAT ÖZER

İleti#15)  Ali ÖZ » 13 Haz 2019 14:20

Bedrettin bey,
Dosyanızda benim yazdığım kod yok ki :x
Allah bize yeter, O ne güzel vekildir.
حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 10:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 38
İleti: 9826
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

Cevap: Tarihi en yakın olanı listele-VEDAT ÖZER

İleti#16)  Bedrettin DEMİRCİ » 13 Haz 2019 14:28

Burda var
Diğerini eklemişim buraya
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
Bedrettin DEMİRCİ
Site Dostu
 
Kayıt: 19 Oca 2015 09:45
Meslek: MUHASEBE
Yaş: 38
İleti: 1680
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA-ATB/YENİMAHALLE

Cevap: Tarihi en yakın olanı listele-VEDAT ÖZER

İleti#17)  Ali ÖZ » 13 Haz 2019 14:57

Yanlış dediğiniz bir kaç örnek paylaşır mısınız.
Allah bize yeter, O ne güzel vekildir.
حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 10:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 38
İleti: 9826
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

Cevap: Tarihi en yakın olanı listele-VEDAT ÖZER

İleti#18)  Bedrettin DEMİRCİ » 13 Haz 2019 16:06

işleç hatası veriyor

't.??kan' sorgu ifadesi içindeki sözdizimi hatası ( eksik işleç )
Kullanıcı avatarı
Bedrettin DEMİRCİ
Site Dostu
 
Kayıt: 19 Oca 2015 09:45
Meslek: MUHASEBE
Yaş: 38
İleti: 1680
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA-ATB/YENİMAHALLE

Cevap: Cevap: Tarihi en yakın olanı listele-VEDAT ÖZER

İleti#19)  Ali ÖZ » 13 Haz 2019 16:20

Bedrettin DEMİRCİ yazdı:Aynı kodu çalıştırdım ama liste yanlış


Bedrettin bey,
Liste ynlış dediniz,simdi kod hata verdi diyorsunuz.
Siteden kynaklı türkçe karakter sorunu var. ? işareti olan yerleri düzeltin.


t.??kan
t.Çıkan


[Cari ?nvan]
[Cari Ünvan]

t.[Cari ?nvan]
t.[Cari Ünvan]

t.[Stok Ad?]
t.[Stok Adı]
Allah bize yeter, O ne güzel vekildir.
حَسْبُنَا اللهُ وَنِعْمَ الْوَكِيلُ
Kullanıcı avatarı
Ali ÖZ
Forum Moderatörü
 
Adı Soyadı:Ali ÖZ
Kayıt: 17 Oca 2013 10:16
Konum: SAKARYA
Meslek: Yazılım
Yaş: 38
İleti: 9826
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Adapazarı/SAKARYA

Cevap: Tarihi en yakın olanı listele-VEDAT ÖZER

İleti#20)  Bedrettin DEMİRCİ » 13 Haz 2019 16:56

Harika çalışıyor Ali Bey --)(
Elinize sağlık şkşk Teşekkür ederim

""? " soru işaretli olanları gördüm herhalde Ali bey yazdı diye hiç oraya takılmamıştım" :)
Kullanıcı avatarı
Bedrettin DEMİRCİ
Site Dostu
 
Kayıt: 19 Oca 2015 09:45
Meslek: MUHASEBE
Yaş: 38
İleti: 1680
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ANKARA-ATB/YENİMAHALLE

Sonraki

Forum Genel Makro Soruları

Online Kullanıcılar

Bu forumu görüntüleyenler: Yandex[Bot] ve 1 misafir

Bumerang - Yazarkafe