• DİKKAT

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

Listbox Çoklu Seçme ve Aktarma

  • Konbuyu başlatan Konbuyu başlatan o2l3m
  • Başlangıç tarihi Başlangıç tarihi

o2l3m

Altın Üye
Katılım
2 Mart 2005
Mesajlar
156
Excel Vers. ve Dili
Microsoft® Excel ® 2016 (16.0.5413.1000) MSO (16.0.5413.1000) 32 bit
Userform 2 de resimdeki gibi filtre yaptıktan sonra Seç butonu ile fitrelenmiş tüm satırları önce seçmek istiyorum.

Sonra seçtiğim bu satırları JT sayfasına 25 satır şeklinde aktarıp print almak istiyorum.
Daha Sonra da formu tekrar boşaltıp kalan 25 adedi gönderip tekrar print aldıracak kodlara ihtiyacım var.

Excel dosya üzerinde de açıklamaları yazdım.

Elimden ancak bu kadar geliyor. İnanın sayenizde çok şeyler öğrenmekteyim.
Yardımlarınız için şimdiden çok teşekkür ediyorum.
 

Ekli dosyalar

  • 1.jpg
    1.jpg
    167 KB · Görüntüleme: 33
  • Proje 2.xlsm
    Proje 2.xlsm
    115.5 KB · Görüntüleme: 29
Öncelikle formunuzda bir tane tümünü seç butonu olması gerekmez mi? Yani eğer tümünü seçip sayfaya atacaksanız. Seçme işlemi olmadan süzülenlerin tamamını mı almak istiyorsunuz. Seçim filan yapmadan.
 
Seç butonu ile filtrelenmiş tüm satırları tümünü seç yaptırmak istiyorum sayın askm.
Doğrudur tümünü seçip sayfaya aktaracağım.

Ama Çıktı formu (JT) 25 satırlık bir form. Bunu da dikkate almak gerekiyor.
Teşekkürler,
 
O zaman listbox döngüsünü 1 den 25 e kadar yaparız. Yani sizin filtrelediğiniz alan 25 den fazla olsa bile sadece ilk 25 satırı alır sayfaya. Yalnız JT sayfasında olmayan değerler mevcut. Veri sayfasına göre hangi sütun hangi sütuna denk gelecek yazarsanız. Veri-E sütunu JT B-M aralığına gibi.
 
Veri E sütunu JT B-M Aralığına
Veri F sütunu JT N Sütunu
Veri H sütunu JT R Sütunu
Veri I sütunu JT U Sütunu
Veri J sütunu JT S4 HÜCRE
TextBox9 JT K3 HÜCRE
TextBox10 JT K4 HÜCRE
TextBox11 JT S3 HÜCRE
JT K5 HÜCRE JT U Sütunu Toplamı
JT K6 HÜCRE JT U Sütunu dolu satır sayısı
 
Sayın askm

Değerli katkılarınız için çok minnettarım.

Tümünü seç dediğimiz de ve aktar dediğimizde şablona 25 satır atıyor. Kalan satırları rekrar forma nasıl çekebiliriz. Acaba verileri önce geçici olarak baska bir sheet e alıp 25 satırı şablona oradan çeksek nasıl olurdu. Sonra printera çıktı gönderip kalan 25 satırı tekrar forma yüklesek. Döngü bu şekilde olabilir mi?

Aslında bu bir nevi operatör bazında gün sonu raporu olacağı için bu kurgu çok önemli.

Teşekkürler,
 
Dediğin gibi farklı bir sayfaya almakta olabilir. Seçilenler için kullanılmaya bir sütuna aktarıldı, x vb bir ifade ekleyip de ona göre verileri de alabilirsin. Bir kere JT sayfasına alınan tekrar formu açtığında gözükecek mi, gözükmeyecek mi?
 
JT Sayfasına alınan veriden sonra yazıcı çıktısı alınacak. Bundan sonra formda veri görünmesi gerekmiyor.
Verilerim Veri sayfasında Saklı kalacak.
 
Dosyanıza baktığımda dediğiniz gibi olabilmesi için listboxdan seçilen verinin Veri sayfasındaki sütunlarda benzersiz bir değerinin olması gerekir. Örneğin A sütunu boş. Buraya satır numarası yazdırabilirsiniz. Listbox sütun sayısını 10 a çıkartırsınız. İlk sütun 0 genişlikde olur. Yani gizlenmiş olur. Seçim yapınca .List(a, 0) değeri satır sumarasını verir.
Listboxa veri alırken de (Yani form yükleme komutunda) K sütunu boş olanları alır. K sütununa da Yazdırıldı ya da aktarıldı yazarsınız. Tabi bu sefer de RowSource ile değil de add.item ile veri almanız gerekir.
 
Evet bu çok mantıklı sayın askm
Bu yöntem ile dosyayı revize etme imkanınız varmı peki? Henüz o seviyede değilim :-)
 
Acil değilse bakarım. Ama acil ise başka bir üstad bakarsa memnun olurum.
 
Acil değil sayın askm.
Bekleyebilirim.
 
Bugün bakma imkanınız olabilir mi?
 
Teşekkürler,

Tümünü seç deyip aktar ve yazdır dediğimde;

satir = CInt(.List(a, 0)) komut satırında takılıyor.


Aşağıdaki uyarlamayı da ekleyebilirsek tam istedğim gibi olacak

Aktar ve yazdır makrosunun sonuna JT Sayfasını Print et. JT Syfasında Q Sütunu hariç içeriği boşalt.
Sonra Lİstboxa geri dön listboxu Refresh et,
veri sayfasındaki K sütununda X değerleri bu sefer yükleme,
kalan satırları seç ve Jt sayfasına kalan satırları gönder ve tekrar print et.

Ve bu döngü Textbox8-Textbox9-Textbox10 a girilen filtrenin getirdiği satırlar bitene kadar devam etmeli.
 
En başından düşündüğüm aslında buydu. Kusura bakmayın ifade edemedim.
 
Bunun için listboxa neden sürekli veri getirip duruyoruz ki. Filtreli alanlı veri sayfasından direkt JT sayfasına yazdırabilirsiniz.
Bende dediğiniz kısımda hata vermedi.
 
Çünkü excel visible. Operatörün exceli görüp müdahele etmemesi gerekiyor. Değiştirme ve silmeyi bu yüzden userforma taşıdım.

Başka bir userform ile önce Veri sayfasına veri girdiriyorum.
Daha sonra operatöre veri sayfasındaki girdiği verilerden vardiya sonunda toplam üretimini çıktı aldırmada tıkandım.
OPeratör pc başında çok zaman harcamamalı.Bu sebeple print konusunda yardımcı olmanızı bekliyorum.

Teşekkürler,
 
Günaydın
Konu hakkında yardımcı olabilecek başka arkadaşlar varsa desteğinizi bekliyorum.
Teşekkürler,
 
Son düzenleme:
Geri
Üst