• Foruma hoş geldin 👋 Ziyaretçi

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Çözüldü Çoklu Koşula Göre Tekrar Eden Ürünlerin Listesini UserForm ile almak

Bu sorun verilen destek sayesinde çözüme ulaştırılmıştır.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

DataMaestro

Yeni Üye
Kullanıcı Bilgileri
Katılım
25 Nis 2021
Mesajlar
198
Çözümler
2
Aldığı beğeni
69
Excel Versiyonu
Office 2019 TR
Konuyu Başlatan
Sayın Formdaş Arkadaşlar,

Ekteki çalışmada kısıtlı bilgimle ve örnekleri inceleyerek UserForm ile rapor sorgulaması yapmaya çalışıyorum.
Belli bir yere kadar geldim ancak, bundan sonrası için siz uzman arkadaşlardan destek rica ediyorum.
Detaylı anlatım ve oluşturulacak listenin manuel olarak hali bulunmaktadır.



Saygılarımla.
 

Ekli dosyalar

  • Tekrar Eden Ürünler Listesi-v3.xlsm
    175.2 KB · Gösterim: 15
Çözüm
Dosyayı bir deneyin.
Gün bulmak için tarih hücrelerini bir birlerinden çıkarttım olmadıysa başka yoldan yaparız ama bence oldu şubat 28 çekendede denedim doğru sonuç verdi.



ggg.gif
Merhaba.
Tam olarak ne yapmak isrediğinizi anlamadım ama gifteki gibi örnek yaptım.
Hazırladığınız frmDAILY_LIST formunda nasıl kriterler olacak hiç açıklama yok.

TEKRARLANAN ÜRÜNLER LİSTESİ saydasındaki F sütunundaki sayıları nasıl buldunuz onuda anlamadım.
Koda eklemeler yapılabilir.

ttt.gif

C#:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 

Ekli dosyalar

  • Tekrar Eden Ürünler Listesi-v3.xlsm
    216.5 KB · Gösterim: 4
Sayın Refaz,

Öncelikle konuya gösterdiğiniz ilgi ve çözüm öneriniz için size çok teşekkür ederim. Yapılmak istenenler aşağıdaki gibidir.
"DATABASE" sayfasının "F" sütunundaki tekrar eden ürünler listesi alınacaktır.
1. Koşul: İki tarih aralığına göre "DATABASE" sayfasının "B" sütunundaki tarihler koşul olarak alınacaktır.
2. Koşul: "DATABASE" sayfasının "A" sütunundaki Dönem bilgileri, UserForm'a eklenecek seçenekli ComboBox veya ListBox ile sade seçilen verilere koşul olarak alınacaktır.
3. Koşul: "DATABASE" sayfasının "C" sütunundaki Hafta bilgileri, UserForm'a eklenecek seçenekli ComboBox veya ListBox ile sade seçilen verilere koşul olarak alınacaktır.
4. Koşul: "DATABASE" sayfasının "D" sütunundaki Türü bilgileri, UserForm'a eklenecek seçenekli ComboBox veya ListBox ile sade seçilen verilere koşul olarak alınacaktır.
UserForm'a eklenecek olan ComboBox veya ListBox Tümünü Seç veya Seçimi kaldır özellikleri olmalıdır.
Alınacak listede İki tarih aralığına göre alınan listede ürünleri bu sürede kaç kez tekrar ettiği hesaplanmalıdır.
İnşallah konuyu dağıtmadan açıklayabilmişidir.

Saygılarımla,
 
Rica ederim.
Gifteki gibi yaptım yani sayfaya kaydettirdim.
Seçili değilse gibi şartlar ve tarih girilmişmi gibi kriterler eklemedim koda.
Bunları girmezseniz hata verebilir bu yüzden doğru veriler girip deneyin.Çalışırsa devam ederiz diğer kriterlere yarın.

Ben sadece ikitarih arası ve ay ve gün griterler ekledim sorguya diğerleride eklenir ama bugün zamanım yok.

zzz.gif
 

Ekli dosyalar

  • Tekrar Eden Ürünler Listesi-v3.xlsm
    214.3 KB · Gösterim: 5
Sayın Refaz,

Çalışmayı incelediğimde son yaklaşmışsınız. Yalnız tekrarlanan kayıtların listesini almıyor. Sadece istenen koşullara ait listeni genelini almaktadır.
Örnek çalışmada "OLMASI GEREKEN" isimli sayfadaki verilere ulaşılacaktır
Ayrıca "F" sütununa iki tarih arasında ürünlerin kaç kez tekrar ettiğini yazdırılmalıdır.
Son olarak Listeyi oluştururken "E" sütunundaki tekrar eden ürünlere göre alfabetik sıralanması sağlanmalıdır.
İyi geceler.

Saygılarımla,
 

Ekli dosyalar

  • Tekrar Eden Ürünler Listesi-v3.xlsm
    161 KB · Gösterim: 5
Sayın Formdaş Arkadaşlar,

Konu güncel olup, değerli yardımlarınızı rica ediyorum.

Saygılarımla.
 
Alttaki kodu deneyin.Hata verirse koddaki sayfa ismini düzeltin bozuk harfleri.
Kod biraz uzun çalışıyor.Belki hızlanabilir.
Ayrıca Gün Aralığı sütunu mantığı anlamadım.

C#:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 
Son düzenleme:
Sayın Refaz,

Ellerinize ve emeğinize sağlık, kodlar yavaşta olsa doğru sonucu vermektedir.
Gün Aralığı sütununa aynı ürünün kaçıncı kez tekrar ettiğini hesaplatabilir miyiz?

Konuyu takip edenler için belirtmekte fayda var. Çalışmayı kullanabilmek için;
VBA ara yüzünden Tools / References... / Microsoft Scripting RunTime ifadesini bularak tiklenmelidir.
Bende işaretli değildi ve yukarıda belirttiğim gibi işaretledim.

Saygılarımla.
 
Rica ederim.
65536 satırdan sonrası için tam çalışmaz fazla ise kodda örneğin f1 yerine [sütun adı] yazılacak ve hdr=yes olacak.
Gün aralığı için ise manuel verileri girip nasıl sonuç olduğunuda anlatırsanız anlayabilirim.
 
Bu arada kodu alttaki gibi yapınca 1 saniyede işlem yapıyor.
Hata yakalama kodları eklemedim denersiniz hata olunca ekleriz ve önceki mesajdaki yazdığımıda ekleyin.

C#:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 

Ekli dosyalar

  • Tekrar Eden Ürünler Listesi-v4.xlsm
    164.6 KB · Gösterim: 5
Sayın Refaz,

Çalışma 65536 satıra ulaşmayacaktır. Maximum 15000 satıra ulaşabileceğini düşünüyorum.
Verileri alırken veya aldıktan sonra "E" sütundaki ürün isimlerini alfabetik olarak sıralanmalıdır.
Gün Aralığı; Tekrar Edenler listesinde mükerrer ürünlerden ilki "0" sıfır değeri yadırılacaktır.
2. mükerrer ürüne ikisi arasındaki gün sayısı yazdırılacaktır.
3. mükerrer ürüne ise 2. ve 3. mükerrer ürün arasındaki gün sayısı yazdırılacaktır.
4.
5...... şeklinde devam etmelidir.

Saygılarımla,

excelvba.png
 
Dosyayı bir deneyin.
Gün bulmak için tarih hücrelerini bir birlerinden çıkarttım olmadıysa başka yoldan yaparız ama bence oldu şubat 28 çekendede denedim doğru sonuç verdi.



ggg.gif
 

Ekli dosyalar

  • Tekrar Eden Ürünler Listesi-v4.xlsm
    154.4 KB · Gösterim: 14
Çözüm
Sayın Refaz,

Ellerinize, emeğinize ve bilginize sağlık. Çalışma amacına sayenizde ulaşmıştır.
ALLAH sizlerden, sevdiklerinizden ve sebep olanlardan razı olsun.
Hakkınız helal ediniz lütfen.

Saygılarımla.
 
Amin abey sizdende.
Teferruatlıca deneyin ben deneyemedim.Sorun olursa yeni konu açarsınız.
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

Konuyu okuyanlar

Geri
Üst