Çözüldü Userform Checkbox Seçime Göre Sütun Yazdırma

MyTeacher

Yıllık Forum Üyesi

Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhabalar Hocalarım,

Ek olarak eklediğim örnek dosyada yaptıklarım;

  1. 14 (Ondört) Sütundan oluşan ve içeriğinde örnek verilerin olduğu bir excel dökümanı hazırladım.
  2. Userform1 adında bir userform hazırlayıp o Userforma her sütunu temsilen 14 adet Checkbox ekledim onların altına da Seçilenlerle İşlem Yap ve Tümünü Seç diye iki adet OptionButton ekledim. onun altına da Baskı Önizleme ve Yazdır CommantButton'u ekledim.
  3. Userform2 adında ikinci bir Userform ekleyip excel dosyasının açılışında auto_open ile girişte açtırdım. Bu Forma Yazdır butonu ekledim. Yazdır Butonuna tıklayınca Yazdırma Seçeneklerinin olduğu Userform1 e yönlenip Userform2 kapanıyor.
YAPMAK İSTEDİKLERİM;
  1. Yukarıda açıkça anlaşılacağı gibi, Userform1 üzerinde yer alan seçeneklerle excel dosyasını istediğim şekilde ve seçili olan sütuna göre sayfaya otomatik şekilde sığacak biçimde nasıl yazdırabilirim.
  2. 12. Yani L sütununa göre (Mahalle) Filtreleme yapıp nasıl Yazdırabilirim.
  3. YOL GÖSTERİLMESİNİ İSTİYORUM, PROGRAM TALEBİM YOK YANLIŞ ANLAMAYIN.

Örnek Dosyam BURADA
https://s5.***/server8/3p9cw6/M_PROJE.xls.html

Vip üye olmadığım için dosya yükleyemiyorum.
 
Son düzenleme:
Çözüm
Çoğalttım satırları, ekteki gibi çıkıyor, alfabetik olarak çıkmıyor, yani önce A Mahallesindekiler sıralanacak sonra B sonra C sonra D öyle gidecek
Revize edildi.
1660423121908.webp
Merhaba,

Sitemizde güvenlik gereği dosya upload linkleri engellenmektedir. Hiç bir üyemizin soru sormasına dair bir kısıtlamamız yok ama dosya yüklemek ve indirmek hakkı sadece VIP üyelerimize verilmiştir. Bu konuda tercih, takdir sizlerindir lakin bizim de yayın politikamız budur.

Bilgi ve anlayışınıza sunarız.
 
Sayın @MyTeacher,

Sizi zoraki bir üyeliğe yönlendirmişim gibi "buyrun..." şeklindeki kelamınız çok hoş olmadı. Çünkü bu site sadece forumdan ibaret değil. İçerdiği hazır Excel dosyaları açısından Türkiye'nin en büyük Excel platformudur. Dolayısıyla üyelik alan kullanıcılarımız bu dosyalarımızı da indirmektedir. Bu yüzden sadece tek bir soru için üyelik almış gibi davranış içinize girmenizi kabul etmeyeceğimi bilmenizi isterim.

Sorunuza gelince, dosyanızı indirdim ve dediklerinizi okudum. Sadece anlayamadığım, diyelim ki UserForm'da 12. sütunu tiklediniz. 12. sütuna denk gelen L sütununa filtre mi uygulanacak ve verileri tamamı mı yazdırılacak yoksa sadece L sütunu mu yazdırılacak?

Bu kısmı netleştirir misiniz?
 
Hocam özür dilerim yanlış anlaşılmaya neden olduğum için. Emeginiz büyük art niyetle yazmadım kesinlikle. Emeğiniz ücret ile kıyaslanamaz hocam. Saygılar.

Üye olmayı daha önce düşünüyordum hocam. Kısmet. Tek soruluk değil kalıcı olmaya geldim.Bilmeyerek kalp kırdıysam, hakkınızı helal edin.

Evet hocam seçilenlerin hepsi sadece L ile filtreleme olacak geri kalanin hepsi yazdirilacak

Saygılar
 
Son düzenleme:
Anlayışınız için teşekkürler, kusura bakmayın sorumu eksik sordum.
Filtreleme kısmı tamamdır lakin verilerinizde filtrelenecek olan veri seçimini nasıl yapacaksınız?

1660247453640.webp


UserForm'unuzda sadece sütun seçeneği var. Bu seçeneği aşağıdaki makronun 12 alanına getiririz, orası kolay.

ActiveSheet.Range("$A$1:$O$6").AutoFilter Field:=12, Criteria1:=Array("B MAHALLESİ", "C MAHALLESİ", "D MAHALLESİ", "E MAHALLESİ"), Operator:=xlFilterValues

Ama =Array() kısmındaki filtrelenecek değer ya da değerler nereden alınacak?

1660247581705.webp


Sanırım UserForm'da bu alanın da olması lazım.
Ya da bunun farklı bir yöntemi varsa bir tık daha aydınlatmanız gerekecek.

İyi çalışmalar
 
Userformu biraz daha genişletip, yan tarafa listbox kutusu olustursak. 12. Sütunü seçtiğimiz gibi listboxun içi mahalle listesi dolsa ve listbox Multiselect çoklu seçilebilir şekilde olsa, yani bir mahalle veya tercihe göre çok seçimli mahalle seçilse hocam.
Listbox içeriği için mahalle listesi için DB adında bir sayfa açıp mahalle isimlerini oraya alıp oradan listboxa sabit şekilde çekerek doldurabiliriz hocam. Haddimi aşmayayım hocam. Usta sizsiniz

Uygun mudur bu fikir.

Hayır kurumu için program projem var bu yazdırma uygulamasını o programa entegre edecem. Çok önemli bu kısım. Yardımınız için teşekkür ederim
 
CheckBox'a tıklatınca, yan tarafa planladığınız ListBox nesnesine elbette ilgili sütunun verileri "BENZERSİZ" olarak getirilebilir. Buradan da seçeceğiniz değer filtrelenebilir. Sadece ListBox nesnesinde birden fazla değer seçimi konusunda, nesneyi çok uzun zamandır kullanmadığımdan ötürü emin olamadım.

Tasarımınızı netleştirdikten sonra yine buradan devam edebilirsiniz. Ayrıca Hazır Excel Dosyaları kısmında da bolca örnek dosya var, madem üyelik aldınız, o kısımdan da faydalanmanızı şiddetle tavsiye ederim.
 
Hocam Yazdırma Userformun son tasarımını yaptım, listboxu da ekledim ve multiselect çoklu seçim yaptım panelden... Son hali bu hocam.
 

Ekli dosyalar

  • M_PROJE.xls
    1.5 MB · Görüntüleme: 5
İlk etapta yapmak istediğiniz bu mu?
1 ve 2 numaralı checkboxlara kod uyguladım sadece, bunları seçince seçtiğiniz sütundaki verileri ListBox'a aktarıyor.

Siz bu aktarım sonrasında, ListBox'ta seçtiğiniz ismi, CheckBox'ta belirtien sütunda filtrelemek istiyorsunuz? (bu alanda kod yok)

Doğru mu anlıyorum?
 

Ekli dosyalar

  • teacher.xlsm
    26.1 KB · Görüntüleme: 5
İlk etapta yapmak istediğiniz bu mu?
1 ve 2 numaralı checkboxlara kod uyguladım sadece, bunları seçince seçtiğiniz sütundaki verileri ListBox'a aktarıyor.

Siz bu aktarım sonrasında, ListBox'ta seçtiğiniz ismi, CheckBox'ta belirtien sütunda filtrelemek istiyorsunuz? (bu alanda kod yok)

Doğru mu anlıyorum?
Hocam örneğin Checkboxlardan 1. 2. 3. 5. 6. 7. 12. Sütun yazanlari seçtim. 12. Sütunü seçtiğim için yandaki listboxta 12. Sütun içeriğinde bulunan mahalle isimleri listelensin. (LİSTBOX SADECE MAHALLE İÇİN) Ben bu mahallelerden bir veya bir kaçını seçeyim. Sectiklerime göre filtreleme olsun. Sonra altta Seçilenler ile işlem yap optionbutonu seçip baskı onizlemeye ve yazmaya göndereyim. Ha OptionButtonlar (Seçilenler ile İşlem yap ve Tümünü seç gereksizse onları devre dışı bırakabiliriz.O butonları silebiliriz. Tümünü manuel de seçerim. Manuel Checkboxları ve mahalleyi seçip baskı onizlemeye ve yazmaya göndereyim
 
PC den kalktım ama bir tablonun bir kısmı filtreleyip, diğer kısımlarını filtrelememe gibi bir şansınız yok.
Bir yerde İstediğiniz husus oturmuyor bir türlü.
12. Sütunda kriter seçeceksiniz, 13 ve 14 te etkilenir.

Eğer sadece 12. Sütuna göre filtreleme yapılacaksa, diğer sütunların işlevi nedir? Neden seçme ihtiyacı duymaktasınız.

Bence boş bir tabloya elle istediğiniz şeyi ekleyin, sanırım başka türlü anlaşamayacağız 🙋‍♂️

Hayırlı geceler
 
PC den kalktım ama bir tablonun bir kısmı filtreleyip, diğer kısımlarını filtrelememe gibi bir şansınız yok.
Bir yerde İstediğiniz husus oturmuyor bir türlü.
12. Sütunda kriter seçeceksiniz, 13 ve 14 te etkilenir.

Eğer sadece 12. Sütuna göre filtreleme yapılacaksa, diğer sütunların işlevi nedir? Neden seçme ihtiyacı duymaktasınız.

Bence boş bir tabloya elle istediğiniz şeyi ekleyin, sanırım başka türlü anlaşamayacağız 🙋‍♂️

Hayırlı geceler
Tamam hocam listboxu da iptal edelim Filtreleme olmasin. Sadece Checkboxları seçip (kaç tane seciyorsak artık) yazıcıya gönderelim yeter.

Mahalle mahalle filtreleme istememin nedeni şuydu. Yardım yapacak kişilere, mahalle sorumlularına kendi listeleri verilecek ondan hocam. Neyse herkese aynı listeyi veririz

Hayırlı geceler hocam. Hakkınızı helal edin yordum sizi
 
Geliştirmek istersen bunu deneyebilirsin. Şuan için tek mahalle seçimi çoklu sutun seçip ön izleme ve yazdır seçeneği.
 

Ekli dosyalar

  • BC-M_PROJE.xlsm
    206.4 KB · Görüntüleme: 9
Geliştirmek istersen bunu deneyebilirsin. Şuan için tek mahalle seçimi çoklu sutun seçip ön izleme ve yazdır seçeneği.
Hocam dosyaya baktım emeğinize sağlık.

Geliştirilmesi gereken yerler var işte o kadar bilgim olsa keşke.

Geliştirilmesi gereken yerler;

  1. Yazıcıya gönderilirken tablo sütun genişliğine göre kağıda otomatik sığdırılması, örneğin açıklama ve adres kısmı haliyle uzayacak uzayınca baskı önizlemede yazı dar sütun üzerinde aşağıya uzamış şekilde görünecek. Bunu çözmek gerekiyor.
  2. Yazıcıya giderken kağıdın sağı solu altı üstü sıfırlanmalı.
  3. Yazıcıya giderken hücre sütun ve başlık renkleri korunmalı
  4. En önemlisi çoklu mahalle seçimi ile multiselect olayı.
Bütün arkadaşlara faydalı olacak bir çalışma bence, geliştirmek gerekiyor. Sadece benim kafama takılan bir konu değildir sanırım.
Saygılar hocam.
 
YOL GÖSTERİLMESİNİ İSTİYORUM, PROGRAM TALEBİM YOK YANLIŞ ANLAMAYIN.
Günaydın,

@Burhan.cesur bey'in kelamının sebebi, ilk mesajınızda sizin belirttiğiniz bu cümlenizden dolayıdır.
Eklediği dosyada tam sizin tabir ettiğiniz gibi yol göstericidir.
Siz yol gösterilen örneği ilerletebilirsiniz, takıldığınız alanlarda adım adım destek sağlanır.
Lakin bir dosyaya A-Z tüm detayları yapmamız mümkün değil.
Ben yineliyorum, Dosyalar kısmımızda oldukça fazla sayıda yol gösterici hazır örnek yer almaktadır, incelemenizde fayda var.

İyi çalışmalar, hayırlı günler dileğiyle.
 
Günaydın,

@Burhan.cesur bey'in kelamının sebebi, ilk mesajınızda sizin belirttiğiniz bu cümlenizden dolayıdır.
Eklediği dosyada tam sizin tabir ettiğiniz gibi yol göstericidir.
Siz yol gösterilen örneği ilerletebilirsiniz, takıldığınız alanlarda adım adım destek sağlanır.
Lakin bir dosyaya A-Z tüm detayları yapmamız mümkün değil.
Ben yineliyorum, Dosyalar kısmımızda oldukça fazla sayıda yol gösterici hazır örnek yer almaktadır, incelemenizde fayda var.

İyi çalışmalar, hayırlı günler dileğiyle.

Elbette haklısınız hocam, ben şuan uğraşıyorum çoklu seçimi ve diğer istediklerimi tamamlayınca faydalanılması amacıyla burada paylaşacağım inşallah. Arada takıldığım ve kafama takılan yerleri de soracağım hocalarım. Saygılar.
 
Hocam şu kod ile oluşturmuş olduğunuz yazdır sayfasının A2 hücresine arada virgül olacak şekilde çoklu seçim sonucunu yazdırdım ama tablo verilerini getiremedim yardımcı olur musunuz...

Kod:
Görüntülemek için giriş yapmalısınız.
(21 satır)
 
Konuyu başlatan
Yıllık Forum Üyesi
Katılım
Konu Bilgi
Durum
Çözüldü 
Forum
Excel Makro Soruları
Başlangıç tarihi
Son yanıt tarihi
Cevaplar
28
Geri
Üst