user formda değişik kriterlere göre rapor alma

ASMET67

Altın Üye
Katılım
8 Haziran 2007
Mesajlar
410
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
30-11-2027
Selamlar.
Foruma yeni üye oldum
ve bu ilk sorum
User formda çoklu seçenekli bir rapor oluşturmak istiyorum.
Bunun için bilgiler ve istenenler aşağıda listelenmiştir.


Eldekiler.
Sayfalar
Siparis_veri
Siparis_sorgu

Sutun başılıkları.
İki sayfanın başlıkları aynı.

D1= Tarih 1
E1= N°Commande
F1= Mağaza İsmi
G1= TESLIMAT TARIHI
H1= Kalem
I1= Eksik
J1= Hazir
K1= fark
L1= DURUM

userform.

Textbox1 = txtTar1 "D sutununu"
Textbox2 = txtTar2 "D sutununu"
Combabox1 = CmdMag "F sutunu"
Combabox2 = CmdDur "L sutunu"
Command Buton1 = sorgu

Yapılmak istenen
Commad butona atacağım kod ile

1- Tarih1 girip diğer nesler boş bırakıldığında Girilen tarihe eşit ve bütük olarnları siparis sorgu sayfasına kopyalacak.
2- Tarih1 ve tarih2 nesleri dolu diğerleri boş ise iki tarih aralığındakileri kopyalayacak.
3- Bu şekilde userform üzerindeki neslerden hangisi dolu işe sadece userform üzerinde dolu olan neslerdeki bilgilere ait değerleri siperiş_veri sayfasında bulup sipariş sorgu sayfasına kopyalacak.

Yardımcı olacak üstadlara teşekkürler.

örenk dosya
http://dosyam.net/?id=ewueue
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Merhaba Hoşgeldiniz.

Userformdaki sorgu butonuna aşağıdaki kodu yazarak deneyin.

Kod:
Private Sub CommandButton1_Click()
Application.Calculation = xlManual
Application.ScreenUpdating = False
Set S1 = Sheets("SIPARIS_VERI")
Set S2 = Sheets("SIPARIS_SORGU")
S2.[e4:l65536].ClearContents
If S1.AutoFilterMode = False Then S1.[e9:k9].AutoFilter
If IsDate(TxtTar1) = True Then S1.[e9:k9].AutoFilter Field:=3, Criteria1:=">=" & CLng(CDate(TxtTar1))
If IsDate(TxtTar2) = True Then S1.[e9:k9].AutoFilter Field:=3, Criteria1:="<=" & CLng(CDate(TxtTar2))
If CmdDur <> "" Then S1.[e9:k9].AutoFilter Field:=7, Criteria1:=CmdDur
If CmdMag <> "" Then S1.[e9:k9].AutoFilter Field:=2, Criteria1:=CmdMag
S1.[e10].CurrentRegion.Copy
S2.[e3].PasteSpecial Paste:=xlValues
S1.[e9:k9].AutoFilter
S2.Select
Application.ScreenUpdating = True
MsgBox "Sorgu tamamlanm&#305;&#351;t&#305;r."
Application.Calculation = xlAutomatic
End Sub
 
Üst