• DİKKAT

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

Veri tablosundan iki tarih arası veri çekme

Katılım
20 Aralık 2013
Mesajlar
195
Excel Vers. ve Dili
Microsoft Office Standart 2013 - Microsoft Windows 10 Enterprise
Merhabalar

Ekteki dosyada Sayfa1 deki sarı dolgulu tarih kıstaslarını yazınca "ÇIKIŞ" sayfasından o tarih aralığındaki verileri çeksin istiyorum.

Not: istediğim tarihleri seçebilme imkanı varsa o şekilde de olabilir. "ÇIKIŞ" sayfasında filtreleme yaparak bulabilirsin diyeceksiniz fakat başka bir yol arıyorum çünkü yapacaklarım farklı.

http://dosya.co/a06x6armgioz/Kitap5.xlsx.html
 
Merhabalar.
Sayfa1'e bir şekil/düğme ekleyin.
Aşağıdaki kod'u boş bir modül'e yapıştırın.
Eklediğiniz düğmeye/şekle fareyle sağ tıklayın, MAKRO ATAyı seçin,
açılan küçük ekranda SÜZ_AKTARı seçip işlemi onaylayarak tamamlayın.
Artık tarihleri değiştirdikten sonra düğmeye tıklayarak ilgili verileri Sayfa1'e aktarabilirsiniz.
Kod:
Sub SÜZ_AKTAR()
If Sheets("Sayfa1").Cells(2, 1) > Sheets("Sayfa1").Cells(2, 2) Then
    MsgBox "1'inci tarih 2'nci tarihten küçük olmalıdır."
ElseIf Sheets("Sayfa1").Cells(2, 1) = "" Or Sheets("Sayfa1").Cells(2, 2) = "" Then
    MsgBox "A2 ve B2 hücresi boş bırakılamaz."
Exit Sub
End If
If Sheets("Sayfa1").Cells(65536, 6).End(3).Row = 4 Then GoTo 10
Sheets("Sayfa1").Range("A5:AF" & [F65536].End(3).Row) = ""
10: Sheets("ÇIKIŞ").Range("A4:AF1").AutoFilter field:=6, Criteria1:=">=" & CLng(CDate(Sheets("Sayfa1").Range("A2"))), _
            Operator:=xlAnd, field:=1, Criteria2:="<=" & CLng(CDate(Sheets("Sayfa1").Range("B2")))
Sheets("ÇIKIŞ").Range("A5:AF" & Sheets("ÇIKIŞ").Cells(65536, 2).End(3).Row).SpecialCells(xlCellTypeVisible).Copy _
                                    Sheets("Sayfa1").Range("A5")
End Sub
 
teşekkür ederim oldu elinize sağlık

peki iki tarih arası değilde istediğimiz tarihleri seçmek istersek nasıl bir çözümü olur?
 
onu anladım
mesela eylülden bir gün ekimden bir iki gün vs... gibi
 
İdris Bey teşekkür ederim. Fakat anlamadığım bazı noktalar var sormak isterim.

1-Tarih diye bir sayfa açmışsınız ona ihtiyaç var mı?
2-Sarı dolgulu A2 ve B2 hücrelerine gerek var mı?
3-Herhangi bir formül ve makro göremedim. Acaba bu tarz işlemleri Pivot Table ile biz de yapabilir miyiz? Yoksa ileri düzey bilgiye mi ihtiyaç vardır?
 
İdris Bey teşekkür ederim. Fakat anlamadığım bazı noktalar var sormak isterim.

1-Tarih diye bir sayfa açmışsınız ona ihtiyaç var mı?
2-Sarı dolgulu A2 ve B2 hücrelerine gerek var mı?
3-Herhangi bir formül ve makro göremedim. Acaba bu tarz işlemleri Pivot Table ile biz de yapabilir miyiz? Yoksa ileri düzey bilgiye mi ihtiyaç vardır?

.

Sarı dolgulu A2 ve B2 hücreleri tarih seçimi yapılması için Veri doğrulama yöntemiyle Tarih sayfasından veri çekiyorlar.

ÇIKIŞ sayfası veri tabanına uygun olarak Table - Tablo olarak yapıldı. Dinamik bir yapıya sahiptir. Veri girildikçe genişleyen bir tablodur. Pivot Table - Özet Tabloya kaynak teşkil eder. Burada ayrıca test diye bir yardımcı sütun kullanılmıştır. Buradaki formüle bakarsanız Rapor sayfasında seçilen tarihlere göre test eder.

Dosyada Pivot Table güncellensin diye iki makro yer almaktadır.



Kod:
Private Sub Worksheet_Activate()
ActiveWorkbook.RefreshAll
End Sub

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveWorkbook.RefreshAll
End Sub


Bana kalırsa Excelde formül ve makrodan önce öğrenilmesi gereken araç Pivot Table'dir. Kullanımı basit, esnek bir yapıya sahip olan bu araçtan nedense herkes öcü gibi kaçmaktadır.

Pivot Table'ın ürettiği raporlar için pek çok formül ve makro yazmak gerekebilir. Şimdi şöyle sorsam; pek çok formül ve makro yazmak mı? Yoksa Pivot Table mı?


.
.
 
.

Sarı dolgulu A2 ve B2 hücreleri tarih seçimi yapılması için Veri doğrulama yöntemiyle Tarih sayfasından veri çekiyorlar.

ÇIKIŞ sayfası veri tabanına uygun olarak Table - Tablo olarak yapıldı. Dinamik bir yapıya sahiptir. Veri girildikçe genişleyen bir tablodur. Pivot Table - Özet Tabloya kaynak teşkil eder. Burada ayrıca test diye bir yardımcı sütun kullanılmıştır. Buradaki formüle bakarsanız Rapor sayfasında seçilen tarihlere göre test eder.

Dosyada Pivot Table güncellensin diye iki makro yer almaktadır.



Kod:
Private Sub Worksheet_Activate()
ActiveWorkbook.RefreshAll
End Sub

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveWorkbook.RefreshAll
End Sub

.


çok teşekkür ederim
 
Geri
Üst