• DİKKAT

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

Kopyala Yapıştır Döngüsü Oluşturmak

Katılım
4 Mart 2012
Mesajlar
69
Excel Vers. ve Dili
2007
Merhaba arkadaşlar...Sizlerin sayesinde kendimi geliştirmeye devam ediyorum. Şimdiki sorunum şu...

Çalışma kitabımda "Barkod Takip" ve "İcmal Denemesi" adlı iki sayfa var. Bu sayfalardan "İcmal Denemesi" olanında her ayın tarihleri otomatik olarak gösteriliyor bu tarihlere göre otomatik olarak veri çekmek istiyorum. Gerekli açıklamayı detaylı olarak da çalışma kitabının içinde paylaştım. Umarım yardımcı olursunuz. Dosyayı buradan indirebilirisiniz.

Sizde dosya yükleyecek olursanız aynı şekilde yüklerseniz sevinirim.
Ancak kodları vererek ve açıklayarak anlatırsanız daha makbule geçer çünkü hazıra konarak bişeyleri yapmak değil amacım.

Şimdiden teşekkür ediyorum.
 
Merhaba
Benim anladığım sizin yazdığınız tarihe göre bilgileri o sıraya dizmesi doğru mu anladım acaba ?
Örneğin Ayın 3'üne yaptınız kayıt sonra Ayın 4'üne de aynı şekilde kayıt yapmak istiyorsunuz.
Eğer ki doğru anladı isem. Eski veriler ne olacak. Mesela Ayın 3'ündeki kayıt silinip ayın 4'üne kayıt mı yapılacak. Yoksa Tüm kayıtlar aynı şekilde kalacak mı ?
 
Hayır zaten var olan kayıtların toplamlarını tarihlere çektiriyoruz."İcmal denemesi" sayfası "barkod takip"ten seçilen tarihe göre kasa sayısı ve metrekareyi getiriyor zaten. Olay şu. Solda yazılı olan tarihleri öncelikle tarih kısmına kopyalacak çıkan toplam kasa ve metrekareyi alıp o tarihin karşısındaki yere kopyalayacak.Bunu tek butonla bütün tarihler için yaptırmak istiyorum.Yani her tarih için aynı işlemi tekrarlayacak.Eğer topla butonundaki makroyu incelediyseniz mantığı anlamış olabilirsiniz.O buton tek tarihi çekiyor.
 
Peki şunu sorayım ben size. Sizin O15,O16 ve O17 hücresine yazdıklarınızın yerine barkod takip dosyasından makro ile alsak ve ayın toplamını siz butona basınca güncellese olmaz mı ?
 
Sanırım anlaşamıyoruz :) kafanızdakini bana bir örnekle açıklarsanız sanırım daha rahat üstüne konuşabilicez. Rica etsem aklınızdakini gerçekleştirip dosya halinde yükleyebilir misiniz?
 
Mart ayı için kullanıldığında sıkıntı yok ancak tarihi şubat olarak değiştirince hata verdi. Ayrıca kullandığınız kodların mantığını da açıklarsanız sevinirim.
 
Mart ayı için kullanıldığında sıkıntı yok ancak tarihi şubat olarak değiştirince hata verdi. Ayrıca kullandığınız kodların mantığını da açıklarsanız sevinirim.

O zaman bizde kodu buna göre düzenleriz.
Tabi isterseniz. İşinizi bu şekilde görüyor mu ?
Kodlar ise tarih'e göre filtre yapıyor sonra hesap yapıyor.
 
Evet tek ay için işimi görüyor.Fakat her ayı sorunsuz şekilde çekebiliyor olması lazım.
 
Merhaba
Kodu bununla değiştirip dener misiniz ?
Kod:
Option Explicit
Sub getir()
Dim S1 As Worksheet, S2 As Worksheet, STR As Long
Dim SAY As Long
Application.ScreenUpdating = False
Set S1 = Sheets("İCMAL DENEMESİ")
Set S2 = Sheets("BARKOD TAKİP")
SAY = S2.Range("D" & Rows.Count).End(xlUp).Row
S1.Range("C3:E33").ClearContents
With WorksheetFunction
For STR = 3 To 33
If Month(DateSerial(S1.Range("J4").Value, S1.Range("J3"), STR - 2)) = S1.Range("J3") Then
S1.Cells(STR, "C") = DateSerial(S1.Range("J4"), S1.Range("J3"), STR - 2)
S2.Range("A1:N" & SAY).AutoFilter 5, CDate(S1.Cells(STR, "C"))
S1.Cells(STR, "D") = .Subtotal(9, S2.Range("C2:C" & SAY))
S1.Cells(STR, "E") = .Subtotal(9, S2.Range("M2:M" & SAY))
End If: Next
S2.Range("A1:N" & SAY).AutoFilter
S2.Range("A1:N" & SAY).AutoFilter
End With
Application.ScreenUpdating = True
End Sub
 
Çok teşekkür ediyorum elinize emeğinize sağlık.Kusursuz bir şekilde çalışıyor... Ancak armut piş ağzıma düş olsun istemiyorum rica etsem sizden satır satır kodları açıklamanız mümkün. Her satırda neler yaptık daha detaylı öğrenelim.
 
Buyrun burada açıklamalı kod.
Kod:
Option Explicit
Sub getir()
'Makro Adı
Dim S1 As Worksheet, S2 As Worksheet, STR As Long
Dim SAY As Long
'Değişkenler
Application.ScreenUpdating = False
'Ekran Kilitleme Aktif
Set S1 = Sheets("İCMAL DENEMESİ")
'İcmal Denemesi Sayfası Kısa Yazımı S1
Set S2 = Sheets("BARKOD TAKİP")
'Barkod Takip Sayfası Kısa Yazımı S2
SAY = S2.Range("D" & Rows.Count).End(xlUp).Row
'S2'de son dolu satır
S1.Range("C3:E33").ClearContents
'S1'de aralık temizleme
With WorksheetFunction
'Formül için kısayol
For STR = 3 To 33
'Döngü Başlangıcı
If Month(DateSerial(S1.Range("J4").Value, S1.Range("J3"), STR - 2)) = S1.Range("J3") Then
'Ay kontrolü
S1.Cells(STR, "C") = DateSerial(S1.Range("J4"), S1.Range("J3"), STR - 2)
'C sütununa Tarih yazdırma
S2.Range("A1:N" & SAY).AutoFilter 5, CDate(S1.Cells(STR, "C"))
'S2 sayfasında tarihe göre filtre uygula
S1.Cells(STR, "D") = .Subtotal(9, S2.Range("C2:C" & SAY))
'D sütununa Uyguladığı filtreden toplam alma
S1.Cells(STR, "E") = .Subtotal(9, S2.Range("M2:M" & SAY))
'E sütununa Uyguladığı filtreden toplam alma
End If: Next
'Kontrol sonu ve Döngü sonu
S2.Range("A1:N" & SAY).AutoFilter
'S2'ye uygulanan filtreyi kaldırma
S2.Range("A1:N" & SAY).AutoFilter
'S2'ye boş filtre uygulama
End With
'Formül kısayol sonu
Application.ScreenUpdating = True
'Ekran kilitleme pasif
End Sub
'makro sonu
 
Geri
Üst