Userform filtresi

aydgur

Altın Üye
Altın Üye
Katılım
31 Ekim 2005
Mesajlar
402
Excel Vers. ve Dili
Excel 2007 Türkçe
Herkese iyi günler dilerim.Bu Userformda süzmeyi B1 hücresine göre yapıyor.
B1 hücresinde BUGÜN() formulü var ve [xlFilterToday ] bu yüzden rapor aldığım günü süzüyor.
Ben 1 haftalık rapor almak istesem ( bugün+6 gün) olarak alabilmek için kod nasıl revize edilebilir ?

Private Sub UserForm_Initialize()
On Error Resume Next
Dim seguimiento As Long, i As Long
Dim Data() As Variant
Dim cell As Range
Sayfa7.Range("$A$1:$I$" & Sayfa7.Cells(Rows.Count, 2).End(xlUp).Row).AutoFilter Field:=2, Criteria1:= _
xlFilterToday, Operator:=xlFilterDynamic
With Me.ListBox1
.Clear
.ColumnCount = 8
.ColumnWidths = "60;100;100;100;60;60;60;100"
End With

i = 1
With Sayfa7
With .Range("B2:B" & .Cells(.Rows.Count, "B").End(xlUp).Row).SpecialCells(xlCellTypeVisible) '<--| refer to non blank cells in its column "T" (i.e. with column index 20) from row 1 to last non blank one in column "B"
seguimiento = .Count
ReDim Data(1 To seguimiento + 1, 1 To Me.ListBox1.ColumnCount) '<--| redim data array rows accordingly (while setting columns to 5)
For Each cell In .Cells
i = i + 1
With cell

Data(i, 1) = Format(.Offset(, -1), "dd.mm.yy")



Data(i, 2) = .Offset(, 1) ' etc...
Data(i, 3) = Format(.Offset(, 2), "##,##0.00 TL")
Data(i, 4) = Format(.Offset(, 3), "##,##0.00 USD")
Data(i, 5) = Format(.Offset(, 4), "##,##0.00 EUR")
Data(i, 6) = .Offset(, 5)
Data(i, 7) = Format(.Offset(, 6), "dd.mm.yy")
Data(i, 8) = .Offset(, 7)
End With
224424

Next cell

End With
End With
ListBox1.List = Data
Me.Label10.Caption = Format(CDate(Date), "dd.mm.yyyy")
End Sub
 

aydgur

Altın Üye
Altın Üye
Katılım
31 Ekim 2005
Mesajlar
402
Excel Vers. ve Dili
Excel 2007 Türkçe
Teşekkür ederim, çok sağolun
 

aydgur

Altın Üye
Altın Üye
Katılım
31 Ekim 2005
Mesajlar
402
Excel Vers. ve Dili
Excel 2007 Türkçe
Maalesef beceremedim. B1 hücresini tarih yerine hafta sayısı yaptım.
Şimdi B1 hücresindeki hafta sayısına göre ( örneğin 3 ) filtreleme için xlFilterToday, Operator:=xlFilterDynamic bu satırı nasıl değiştirmeliyim
 

NextLevel

Altın Üye
Katılım
22 Ekim 2017
Mesajlar
663
Excel Vers. ve Dili
Ofis 2016 TR
Kodlarınızdaki Sayfa7 değer atanmış bir değiken midir?
 

aydgur

Altın Üye
Altın Üye
Katılım
31 Ekim 2005
Mesajlar
402
Excel Vers. ve Dili
Excel 2007 Türkçe
Günaydın, hayır değil. Esasen yapmak istediğim.
Userform B1 hücresinde yazılı olan bugünün tarihine göre filtre ediyor.
Ben bir haftalık filtre yapamadığım için B1 hücresine haftasay ile örneğin bugün 3.hafta olduğu için B1 hücresinde 3 yazıyor ve (xlFilterToday) yerine ne yazmalıyım ?
 

aydgur

Altın Üye
Altın Üye
Katılım
31 Ekim 2005
Mesajlar
402
Excel Vers. ve Dili
Excel 2007 Türkçe
Sayfa7.Range("$A$1:$I$" & Sayfa7.Cells(Rows.Count, 2).End(xlUp).Row).AutoFilter Field:=2, Criteria1:= _
xlFilterToday, Operator:=xlFilterDynamic
Yukarıdaki koda göre B sütünunda bugün yazılı olan satırları filtre ediyor ama ben B1 hücresinde olan haftasay formülü ile girdiğim örneğin 3 rakamına göre filtre yapsın istiyorum. Ne yapabilirim.
 

aydgur

Altın Üye
Altın Üye
Katılım
31 Ekim 2005
Mesajlar
402
Excel Vers. ve Dili
Excel 2007 Türkçe
Çok özür dilerim meramımı anlatamadım gibi geldi de o yüzden tekrar yazıyorum.
Aşağıdaki kodda Today değilde B1 hücresine göre filtre yap nasıl derim.
224443
 

byfika

Altın Üye
Altın Üye
Katılım
15 Ağustos 2009
Mesajlar
463
Excel Vers. ve Dili
OFFICE 2016 Tr
Rica ederim , iyi çalışmalar...
 

aydgur

Altın Üye
Altın Üye
Katılım
31 Ekim 2005
Mesajlar
402
Excel Vers. ve Dili
Excel 2007 Türkçe
Merhaba, kendi dosyama kopyaladığımda böyle bir hata veriyor.
224526
 

byfika

Altın Üye
Altın Üye
Katılım
15 Ağustos 2009
Mesajlar
463
Excel Vers. ve Dili
OFFICE 2016 Tr
Merhabalar,
resimde gördüğüm kadarıyla sizin data sayfanız excelelin verdiği sayfa ismi Sayfa2.
Hata veren satırdaki sayfa1 olan yerleri Sayfa2 yaparsanız problem çözülür...
 

aydgur

Altın Üye
Altın Üye
Katılım
31 Ekim 2005
Mesajlar
402
Excel Vers. ve Dili
Excel 2007 Türkçe
Evet çözülü teşekkür ederim
 

aydgur

Altın Üye
Altın Üye
Katılım
31 Ekim 2005
Mesajlar
402
Excel Vers. ve Dili
Excel 2007 Türkçe
Yalnız listeyi uzatınca şöyle bir sorun çıktı, örneğin 3. haftayı seçince 3 ve 3 ile başlayan 31,34. haftaları da veriyor.
Yani 3 seçince 3 ile başlayanlar , 4 seçince 4 ile başlayan haftalar da geliyor.
 

NextLevel

Altın Üye
Katılım
22 Ekim 2017
Mesajlar
663
Excel Vers. ve Dili
Ofis 2016 TR
If sorgusunun sonundali & "*" kısmı kaldırıp dener misin.
 

byfika

Altın Üye
Altın Üye
Katılım
15 Ağustos 2009
Mesajlar
463
Excel Vers. ve Dili
OFFICE 2016 Tr
Merhabalar;
ComboBox1_Change deki
If UCase(LCase(isim)) Like UCase(LCase(ComboBox1)) & "*" Then
kodun yerine alttaki kodu yazın.
If UCase(LCase(isim)) = UCase(LCase(ComboBox1)) Then

problem düzelecektir...
 
Üst