kriterlere göre veri aktarımı makrosu lazım

Katılım
24 Aralık 2006
Mesajlar
232
Excel Vers. ve Dili
2007 ingilizce
TARİH KRİTER 1 KRİTER 2 KRİTER 3 KRİTER 4 KRİTER 5 KRİTER 6 KRİTER 7 KRİTER 8
BANDIRMA01.01.2007 A 2 4 4 4 4 4 4
İZMİR 02.01.2007 A 3 5 5 5 5 5 5
İSTANBUL02.01.2007 A 4 4 4 4 4 4 4
İSTANBUL04.01.2007 B 5 3 3 3 3 3 3
ANKARA 04.01.2007 B 6 3 3 3 3 3 3
ANKARA 04.01.2007 B 8 3 3 3 3 3 3
BANDIRMA07.01.2007 B 9 3 3 3 3 3 3
İZMİR 08.01.2007 B 1 2 2 2 2 2 2
İSTANBUL09.01.2007 B 1 2 2 2 2 2 2
İSTANBUL10.01.2007 A 1 1 1 1 1 1 1
ANKARA 11.01.2007 A 3 1 1 1 1 1 1
ANKARA 12.01.2007 C 4 1 1 1 1 1 1
BANDIRMA13.01.2007 C 5 1 1 1 1 1 1
İZMİR 14.01.2007 C 6 1 1 1 1 1 1
İSTANBUL15.01.2007 C 2 1 1 1 1 1 1
İSTANBUL16.01.2007 C 4 1 1 1 1 1 1

sayfa 1 de bu şekilde verilerim var, sayfa ikiye ili yazıp iki atrih arası B Sutunundaki verielere göre toplam almak istiyorum.
 
Son düzenleme:
Katılım
24 Aralık 2006
Mesajlar
232
Excel Vers. ve Dili
2007 ingilizce
arkadaşlar bu işten hiçmi anlayan yok. yardımlarınızı bekliyorum.
 
Katılım
31 Ocak 2007
Mesajlar
228
Excel Vers. ve Dili
office xp tr
Kendinize göre uyarlayınız.
=+TOPLA.ÇARPIM(--(VERİLER!C2:C17="A");--(VERİLER!D2: D17))
 
Katılım
24 Aralık 2006
Mesajlar
232
Excel Vers. ve Dili
2007 ingilizce
İlerİ Excel ArkadaŞim İlgİn İÇİn TeŞekkÜr Ederİm. Ektekİ Doyami İnceleyebİlİrmİsİn. İl Ve İkİ Tarİh AraliĞina GÖre GÖre Bu İŞlemİ Yapmak İstİyorum.
 

İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,104
Excel Vers. ve Dili
Excel, 365 - İngilizce
Formülle dosyanız ekte.
 
Katılım
24 Aralık 2006
Mesajlar
232
Excel Vers. ve Dili
2007 ingilizce
yurttaş arkadaşım eline sağlık, veriler 30 000 bini aşkın olduğundan çok yavaş çalışıyor. makro ile yazmak mümkünmü. teşekkür ederim
 
Katılım
24 Aralık 2006
Mesajlar
232
Excel Vers. ve Dili
2007 ingilizce
YURTTAŞ ARKADAŞIM FORMÜLÜNLE İLGİLİ BİR SORUM OLACAK.
formülde geçen =TOPLA.ÇARPIM(--(il=$A$1);--(k=B3);--(tarih>=$D$1);--(tarih<=$F$1)) ile formülün sonuna eklediğin kk ların ne anlama geldiğini anlamadım. kopyalama yaparken bu kkkkk ları otomatik çoğalmanın kısa yolu nedir. açıklayabilirsen çok memnun kalacağım
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,553
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki kodu denermisiniz.

Kod:
Sub AKTAR()
    [C3:IV65536].ClearContents
    ŞEHİR = [A1].Address
    TARİH1 = [D1].Address
    TARİH2 = [F1].Address
    SON = Sheets("VERİLER").[A65536].End(xlUp).Row
    For X = 3 To [B65536].End(xlUp).Row
    For Y = 3 To Sheets("VERİLER").[B1].End(xlToRight).Column
    If Y = 3 Then
    Cells(X, Y) = Evaluate("SUMPRODUCT(--(VERİLER!A2:A" & SON & "=" & ŞEHİR & "),--(VERİLER!C2:C" & SON & "=B" & X & "),--(VERİLER!B2:B" & SON & ">=" & TARİH1 & "),--(VERİLER!B2:B" & SON & "<=" & TARİH2 & " ))")
    Else
    SÜTUN = WorksheetFunction.Substitute(Mid(Cells(1, Y).Address, 1, 3), "$", "")
    Cells(X, Y) = Evaluate("=SUMPRODUCT(--(VERİLER!A2:A" & SON & "=" & ŞEHİR & "),--(VERİLER!C2:C" & SON & "=B" & X & "),--(VERİLER!B2:B" & SON & ">=" & TARİH1 & "),--(VERİLER!B2:B" & SON & "<=" & TARİH2 & "),--(VERİLER!" & SÜTUN & "2:" & SÜTUN & SON & "))")
    End If
    Next: Next
    MsgBox "AKTARIM İŞLEMİ TAMAMLANMIŞTIR.", vbInformation
End Sub
 
Katılım
24 Aralık 2006
Mesajlar
232
Excel Vers. ve Dili
2007 ingilizce
COST CONTROL çok teşekkür ederim. A,B,C kriterini saydırmasak nasıl yapacağız. veriler çok olduğu için çok yavaş çalışıyor. kriter 2 den itibaren tolam alsın kriter 1 toplamasın. yeni örneği ekte yardımını bekliyorum.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,553
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Kodu aşağıdaki gibi değiştirip denermisiniz. Ben 40.000 satır kopyalayıp denedim. "AKTARILAN" sayfasındaki 3 kriteri yaklaşık 10 saniyede hesapladı. Umarım bu haliyle işinize yarar.

Kod:
Sub AKTAR()
    [C3:IV65536].ClearContents
    ŞEHİR = [A1].Address
    TARİH1 = [D1].Address
    TARİH2 = [F1].Address
    SON = Sheets("VERİLER").[A65536].End(xlUp).Row
    For X = 3 To [B65536].End(xlUp).Row
    For Y = 4 To Sheets("VERİLER").[B1].End(xlToRight).Column
    SÜTUN = WorksheetFunction.Substitute(Mid(Cells(1, Y).Address, 1, 3), "$", "")
    Cells(X, Y) = Evaluate("=SUMPRODUCT(--(VERİLER!A2:A" & SON & "=" & ŞEHİR & "),--(VERİLER!C2:C" & SON & "=B" & X & "),--(VERİLER!B2:B" & SON & ">=" & TARİH1 & "),--(VERİLER!B2:B" & SON & "<=" & TARİH2 & "),--(VERİLER!" & SÜTUN & "2:" & SÜTUN & SON & "))")
    Next: Next
    MsgBox "AKTARIM İŞLEMİ TAMAMLANMIŞTIR.", vbInformation
End Sub
 
Katılım
24 Aralık 2006
Mesajlar
232
Excel Vers. ve Dili
2007 ingilizce
COST CONTROL ilgin için çok teşekkür ederim. Ben size en iyisi dosyanın aslını göndereyim. Bu kayıtlar 20.000 üzerinde. KRİTER olarak 300 ün üzerinde. bayabir zorlanıyor.. tarihe göre süzüp başka sayfaya aktarsın ondan sonra toplamı başka bir sayfada alsak daha hızlı olur diye düşünüyorum. kırmızı sutunlara göre değerlendirme yapılacak.
şimdiden teşekkür ederim.
dosyam ektedir.
 
Katılım
24 Aralık 2006
Mesajlar
232
Excel Vers. ve Dili
2007 ingilizce
Arkadaşlar yardımlarınızı bekliyorum.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,553
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Örnek dosyanız üzerinde gerekli düzenlemeleri yaptım. İncelermisiniz. Denemelerim sonucu aşağıdaki sürelerde işlem tamamlandı.

AFYON ilinin raporu = Yaklaşık 4 dakika sürdü.
UŞAK ilinin raporu = Yaklaşık 1 dakika sürdü.

Yani veri sayınız arttıkça raporun çıkma süreside uzayacaktır. Umarım faydası olur.
 
Katılım
24 Aralık 2006
Mesajlar
232
Excel Vers. ve Dili
2007 ingilizce
arkadaşım eline ve beynine sağlık. il ve iki tarih aralığını süzüp ondan sonra toplama işlemini yapsak hızlanmazmı. ayrıca süzme de MAHALLE İLE CADDE SK sutununu silsin. biraz daha hızlanır düşüncesindeyim
 
Son düzenleme:
Katılım
24 Aralık 2006
Mesajlar
232
Excel Vers. ve Dili
2007 ingilizce
başka anlaya arkadaşlar yokmu.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,553
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
arkada&#351;&#305;m eline ve beynine sa&#287;l&#305;k. il ve iki tarih aral&#305;&#287;&#305;n&#305; s&#252;z&#252;p ondan sonra toplama i&#351;lemini yapsak h&#305;zlanmazm&#305;. ayr&#305;ca s&#252;zme de MAHALLE &#304;LE CADDE SK sutununu silsin. biraz daha h&#305;zlan&#305;r d&#252;&#351;&#252;ncesindeyim
Selamlar,

Zaten ekledi&#287;im dosyadaki kodlar sizin istedi&#287;iniz s&#252;zme i&#351;lemini yapt&#305;ktan sonra de&#287;erleri aktar&#305;yor. Maalesef daha h&#305;zlanabilece&#287;ini d&#252;&#351;&#252;nm&#252;yorum. Sebebi ise neredeyse 256 s&#252;tunluk bir veri taban&#305;n&#305;z var. Do&#287;al olarak excel hesaplarken zorlan&#305;yor. Ve i&#351;lem s&#252;resi uzuyor.
 
Katılım
24 Aralık 2006
Mesajlar
232
Excel Vers. ve Dili
2007 ingilizce
süzdüğünde mahalle ve cadde bulunan sutunları sildiremezmiyiz
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,553
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Bahsettiğiniz sütunları sildirebiliriz tabiki. Ama bu sütunları silmek kodların çalışmasını hızlandırmayacaktır.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,553
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Eğer süzme işleminde mahalle ve cadde sütunlarını sildirmek istiyorsanız. Örnek dosyadaki SÜZ kodunu aşağıdaki şekilde değiştirip deneyiniz.

Kod:
Sub SÜZ()
    Sheets("VERİLER").Select
    [A1].Select
    [A1].AutoFilter Field:=1, Criteria1:=Sheets("AKTARILAN").[A1]
    [A1].AutoFilter Field:=2, Criteria1:=">=" & CLng(CDate(Sheets("AKTARILAN").[D1])), Operator:=xlAnd, Criteria2:="<=" & CLng(CDate(Sheets("AKTARILAN").[F1]))
    Range(Selection, Selection.End(xlToRight)).Select
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    Sheets("SÜZ").Select
    [A1].PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    [A1].Select
    Application.CutCopyMode = False
    Columns("B:B").NumberFormat = "m/d/yyyy"
    Columns("CL:CM").Delete
    Cells.EntireColumn.AutoFit
    Sheets("VERİLER").Select
    [A1].Select
    Selection.AutoFilter
    Sheets("AKTARILAN").Select
End Sub
 

İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,104
Excel Vers. ve Dili
Excel, 365 - İngilizce
YURTTAŞ ARKADAŞIM FORMÜLÜNLE İLGİLİ BİR SORUM OLACAK.
formülde geçen =TOPLA.ÇARPIM(--(il=$A$1);--(k=B3);--(tarih>=$D$1);--(tarih<=$F$1)) ile formülün sonuna eklediğin kk ların ne anlama geldiğini anlamadım. kopyalama yaparken bu kkkkk ları otomatik çoğalmanın kısa yolu nedir. açıklayabilirsen çok memnun kalacağım
k, kk, kkk,..... bunlar alan adlarıdır. Ekle /Ad/Tanımla'ya girerseniz görürsünüz. Tıpkı il, tarih, gibi...
 
Üst