sütuna tarih aralığı vererek bu raya yazılan tarih bilgisinin ilgili sayfaya aktarıl

Katılım
2 Ocak 2011
Mesajlar
17
Excel Vers. ve Dili
2003-2007 Türkçe
Merhaba;


aylık bir mal ürün giirş tablosu oluşturmak istiyorum.

Çalışma kitabının her sayfası 1 günü belirtecek ve bu günler arasında haftalık raporlar oluşacak.

benim sorunum ayın ilk günü için diyelim B sütununa bir tarih yazıyorum. Yazmış olduğum tarih ayın 1 ile 7 arasında ise bunu haftalık olarak oluşturduğum raoar sayfasında yazsın. buraya yazılan tarih ayın 8 ile 14 ü rasında ise 2. haftalık rapor sayfasına yazsın vb. böyle bir makro yada formül nasıl yazılabilir.

Yardımcı olursanız sevinirim.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Küçük bir örnek dosya ekleyerek sorunuzu dosya üzerinde de detaylı olarak açıklarmısınız..
 
Katılım
2 Ocak 2011
Mesajlar
17
Excel Vers. ve Dili
2003-2007 Türkçe
DOSYAYIEKLEYEBİLDİYSEM EĞER 1. GÜNÜ SİMGLEYEN ÇALIŞMA SAYFASINDA (1 bAŞLIĞI) İRSALİYE TARİHİNE YAZDIĞIM TARİH AYIN İLK 7 GÜNÜNDEN BİRİ İSE HAFTALIK RAPOR AANLAMINDA OLUŞTURDUĞUM SAAYFAYA BU BİLGİLERİ SIRALAYARAK YAZSIN. İLK YEDİ GÜNÜNDEN BİRİ DEÜİLDE 8 İLE 14 ARASINDAKİ BİR NTARİH İSE BURAYA YAZILAN 2. HAFTALIK RAPOR SAYFASINA YAZSIN AYIN 15 İLE 21 ARASINDA BİR TARİH İSE 3. HAFTALIK RAPOR KISMINA YAZSIN GİBİ. İLK 7 GÜN VE İLK HAFTALIK RAORU GÖSTEREN DOSYAYI EKLEDİM SANIRIM.
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Detaylı deneme yapmadım. Module kopyalarak çalıştırınız..

Kod:
Sub SayfalardanRaporAl()
 
Dim syf As Variant, S1 As Worksheet, S2 As Worksheet, S3 As Worksheet, S4 As Worksheet
 
Application.ScreenUpdating = False
 
On Error Resume Next
 
[COLOR=green]' /// Bu bölümdeki rapor sayfa adlarını kendinizinkiyle değiştirirsiniz. [/COLOR][COLOR=green]\\\[/COLOR]
Set S1 = Sheets("01.01.2011 - 07.01.2011")
Set S2 = Sheets("08.01.2011 - 14.01.2011")
Set S3 = Sheets("15.01.2011 - 21.01.2011")
Set S4 = Sheets("22.01.2011 - 31.01.2011")
[COLOR=green]' /// ------------------------------------------------------------------ [/COLOR][COLOR=green]\\\[/COLOR]
 
S1.Range("A4:G65536").ClearContents
S2.Range("A4:G65536").ClearContents
S3.Range("A4:G65536").ClearContents
S4.Range("A4:G65536").ClearContents
 
For syf = 1 To Sheets.Count
    With Sheets(syf)
        If Len(.Name) < 3 Then
            If CDbl(.Name) > 0 And CDbl(.Name) < 8 Then
                .Select
                Range(Cells(4, "A"), Cells([C65536].End(3).Row, "G")).Copy
                S1.Range("A" & S1.[C65536].End(3).Row + 1).PasteSpecial Paste:=xlPasteValues
            ElseIf CDbl(.Name) > 7 And CDbl(.Name) < 15 Then
                .Select
                Range(Cells(4, "A"), Cells([C65536].End(3).Row, "G")).Copy
                S1.Range("A" & S2.[C65536].End(3).Row + 1).PasteSpecial Paste:=xlPasteValues
            ElseIf CDbl(.Name) > 14 And CDbl(.Name) < 22 Then
                .Select
                Range(Cells(4, "A"), Cells([C65536].End(3).Row, "G")).Copy
                S3.Range("A" & S3.[C65536].End(3).Row + 1).PasteSpecial Paste:=xlPasteValues
             ElseIf CDbl(.Name) > 21 And CDbl(.Name) > 31 Then
                .Select
                Range(Cells(4, "A"), Cells([C65536].End(3).Row, "G")).Copy
                S1.Range("A" & S4.[C65536].End(3).Row + 1).PasteSpecial Paste:=xlPasteValues
            End If
        End If
    End With
Next syf
S1.Select 
Application.CutCopyMode = False
Application.ScreenUpdating = True
 
MsgBox "Aktarım Tamamlandı.", vbInformation, Application.UserName
 
End Sub
.
 
Katılım
2 Ocak 2011
Mesajlar
17
Excel Vers. ve Dili
2003-2007 Türkçe
Ömer bey yardımınız için teşekkür ederim.

Hiç bir bilgim olmamasına karşın bir şekilde makroyu etkin kılmaya çalıştım.

Çalıştırdığım kadrıylada anlatmak istediğime yakın ancak;


1 - Bu haliyle günleri temsil eden çalışma sayfalarına verileri girdikten sonra, haftalık rapor için oluşturduğum sayfaya gelip makroyu uyguladığımda;

a) veriler sutünların açıklama başlıkları ile kopyalanıyor.
b) çift işlem yapıyor. yani her veriyi iki sefer aktarıyor.

2 - Ben ayın günlerini temsil eden çalışma sayfalarına bilgileri girdiğimde, haftalık raporları almak içi oluşturduğum çalışma sayfasında günlük verilerin aynı zamanda yer almasını istiyorum tabiki mümkün ise.

Ben bu konuda çok yetersizim makroyu çalıştırma konusunu bile araştırarak buldum. Umarım sitede yer alan sizin gibi bu konuda bilgi sahibi arkadaşların desteği ile birşeyleri yapabilir hale gelirim.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Bu şekilde hata aldığınız dosyayı eklemeniz mümkün mü?

.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
#4 nolu mesajı değiştirdim, tekrar denermisiniz..

2. sorunuzu tam olarak anlayamadım. Daha detaylı açıklarmısınız..

.
 
Katılım
2 Ocak 2011
Mesajlar
17
Excel Vers. ve Dili
2003-2007 Türkçe
1 - Tekrar denedim mükerrer kaydı yapmadı. Sadece sütun başlıklarını en sona tekrar yazdı.

2 - (2.) soruda demek istediğim şöyle. Ben, bir ayın günlerini temsil eden çalışma sayfalarına, gün içerisinde değişik zamanlarda veri girişi yapacağım.

Mesela bu örnek verdiğim dosyad ailk 7 gün ve ilk 7 günün haftalık raporu var. Ben makroyu ilk 4 güne veri girdikten sora haftalık rapor çalışma sayfasında uyguladım yanlış değil ise eğer. Ama ayın 7. gününe veri girdiğimde bu veriyi o haftalık rapor içerisinde görmem için makroyu tekrar açlıştırmam gerekli. Yada gün içerisinde yaptığım tüm veri girişlerinin burada yer alması için gün sonund ayad averiyi her girişte makroyu çalıştırmam gerkli.

Bense bir gün içerisinde yaptığım her veri girişinin bu haftalık raporda otamatik olarak yer alabilmesi (yani makroyu her veri girişindne sonr açalıştırmadan) mümkün mü diye sordum. Değilsede bu haliyle benim ihtiyacıma cevap verebilecek durumda. (çalışma sayfalarının sütun başlıklarını kopyalamazsa daha iyi olacak.

3 - Dediğim gibi ben bu çalışmayı aylık olarak hazırlayacağımdan dolayı ayın günlerini temsil edecek olan diğer çalışma sayfalarıda benim için önemli. Mesela ayın 9. gününü temsil eden çalışma sayfasında yada sonrasında irsaliye tarihi olarak belirtiğim sutuna ayın ilk 7 günü ile ilgili bir tarih girilir isede oda haftanın ilk yedi günlük raporu içinde yer almalı.

Umarım anlatabilmişimdir. Birde bu makro kodları ve anlamları ile ilgili bilgiye nasıl ulaşabilirim.

Saygılar;
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Sayfa adına göre değil sayfalardaki tarihlere göre mi aktarım olacak ? Yani 2 nolu sayfada ayın 15 inden bir veride girilebilir. Doğru mu anlamadım.

.
 
Katılım
2 Ocak 2011
Mesajlar
17
Excel Vers. ve Dili
2003-2007 Türkçe
Tam tersi. Ayın 15 ini temsil eden çalışma sayfasında B sütununda İrsaliye Tarihi olan başlığın altına 06.01.2011 tarihi girilebilir.

Bu tablonun amacı şu ;

Bir işletmeye sevk olunan hammadde girişlerinin sevk irsaliyelerini kontrol edebilmek. Şöyle ki ; sevk irsaliyeleri üzerindeki tarihler baz alınarak 7 günü geçmeden faturalandırılmak zorunda. Hammaddenin işletmeye ulaşması yani sevk irsaliyesi üzerindeki tarihi ile işletmeye giriş tarihi arasında 1 ila maksimum 7 gün gecikme oluyor.

Biz bunları üç aşamlı bir çalışmadan geçirerek önlemeye çalışıyoruz. Günlük liste yapılıyor. Hammaddenin işletmeye girdiği tarih itibariyle o gün ne kadar hammadde gelmiş. Sonra ayın ilk 7 günü için ayın 10-12 gibi bu irsaliyeler tekrar ele alınıyor ve ayın ilk yedi günün tarihini taşıyan irsaliyeler bir liste haline tekrar getiriliyor ve hammadde satan firmaya gönderiliyor bunlara engeç ayın 7 itibariyle fatura düzenle anlamında. Sonrada aylık sonuçlar alınıyor.

Ben bunu hammaddenin işletmeye girdiği gün yapılan günlük talo yada veri girişi ile tekrar tekrar işlem yapmaya gerek kalmadan halletmeyi istiyorum. Yani günlük yapılan veri girişinin tekrar tekrar yazılmasına gerek kalmasın isityorum. Sadece haftalık ve aylık raporlar kontrol edilsin.

Amacımı açıklarsam beni daha iyi anlarsınız diye yazdım bunları.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Eğer haftalık ve aylık rapor alacaksanız. Önce aylık raporu alıp oradan haftalara böldürmek daha hızlı işlem yapmamızı sağlayacaktır.

Orjinal tablonuza yakın bir tablo ( içindeki verileri değiştirerek ) eklerseniz daha kısa çözüme gideriz kanısındayım.

Ayrıyeten raporlamaları ayrı sayfalarda değil tek bir sayfa üzerinden seçilen seçeneğe görede yapabilirsiniz.

Örnek olarak açıklarsam, Aylık seçilince tüm ay, ilk hafta seçilince 1 ile 7 arası gibi..

Tercih sizin. Siz yinede belirttiğim şekilde yeni bir tablo ekleyip bu açıklamalara göre kafanızda raporlamayı oluştup ayrı sayfamı yoksa tek sayfa üzerinden mi rapor almak istediğiniz belirtirseniz o şekilde düzenlemeye çalışırım.

.
 
Katılım
2 Ocak 2011
Mesajlar
17
Excel Vers. ve Dili
2003-2007 Türkçe
Günlükler haftalık sonuçları, haftalık sonuçlarda, ay sonuna eklenen bir sayfa ile aylık raporu vermeli.

Sonra ben; bir klasörün içerisine bu şekilde oluşan excel dosyasını kapyalama yöntemi ile yılın her ayı için ayrı ayrı oluşturacağım.
 
Katılım
2 Ocak 2011
Mesajlar
17
Excel Vers. ve Dili
2003-2007 Türkçe
Hammadde Giriş Kontrol Tablosu

Ekli dosya da 1-2-3- vb günler ayın günlerini temsil ediyor. Belli tarih aralıkları ile belirtilen çalışma sayfaları da bir ay içeri sinde günler bazında verilerin aktarılacağı dönemleri ifade ediliyor.
Ayın günlerini temsil eden çalışma sayfalarının (ayın 1 ile 31 temsil eden herhangi bir çalışma sayfasının ) B sütununa ayın ilk 7 günü ile ilgili bir tarih girersem bu veriyi 01.01.2011 – 07.01.2011 olarak isimlendirdiğim çalışma sayfasına aktarsın. Ayın 08 ile 14 arasında bir tarih girersem (ayın 8 ve 14 dahil) bu veriyi 08.01.2011 – 14.01.2011 olarak isimlendirdiğim çalışma sayfasına aktarsın. Ayın 15 ile 21 arasında bir tarih girersem (ayın 15 ve 21 dahil) bu veriyi 15.01.2011 – 21.01.2011 olarak isimlendirdiğim çalışma sayfasına aktarsın. Ayın 22 ile 28 arasında bir tarih girersem (ayın 22 ve 28 dahil) bu veriyi 22.01.2011 – 28.01.2011 olarak isimlendirdiğim çalışma sayfasına aktarsın Ayın 29 ile 31 arasında bir tarih girersem (ayın 29 u ve 31 dahil) bu veriyi 29.01.2011 – 31.01.2011 olarak isimlendirdiğim çalışma sayfasına aktarsın.
Çalışma kitabının en sonuna eklediğim aylık raporu ise ayın günlerini ifade eden çalışma sayfalarında C sütununda yer alan tarihe ilişkin verileri baz alarak, veri aktarsın. (Yani ayın günlerini ifade eden bu çalışma sayfalarının içeriğini olduğu gibi buraya yazsın)Bilmiyorum yapılabilir bir şey mi, yada anlatabildim mi?
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Son mesajını yeni farkettim. Ben bir örnek hazırlamıştım.

Dosyanıza uyarlayamazsanız tekrar düzenlemeye çalışırım.

.
 

Ekli dosyalar

Katılım
2 Ocak 2011
Mesajlar
17
Excel Vers. ve Dili
2003-2007 Türkçe
hazırladığınız dosyayı açmaya çalıştığımd ageçerli bir wın32 uygulaması değil uyarısı alıyorum
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Dosya boyutları gereksiz yer kaplamaması için, winrar ile sıkıştırp yüklemiştim.

Google den kolaylıkla bulup indirebilirsiniz.

.
 
Katılım
2 Ocak 2011
Mesajlar
17
Excel Vers. ve Dili
2003-2007 Türkçe
vardı zaten tekrar indirdim ama gene de olmuyor.
 
Katılım
2 Ocak 2011
Mesajlar
17
Excel Vers. ve Dili
2003-2007 Türkçe
Ömer Bey, emeğinize sağlık dosyayı açtım, bu hali ile benim istediğime yakın.


1 - Ancak, günleri temsil eden açlışma sayfasının C sutununa kaç satır tarih girileceği belli değil. (Bu birgün için 1 ila 75 olabilir.) Burda bir tarih olmaması benim gireceğim veri kadar aktarım yapması daha iyi olur. Burda belli sayıda tarih olduğunda aktarım yapıldığında boş olan satırlarıda aktarıyor.

2 - Aşağıdaki açıklamada da belirtiğim gibi B sütununa yazdığım tarihi baz alarak oluşturulan satırı haftalık rapora aktarması daaha iyi olur. Sizin gönderdiğiniz dosyad ayın 9 simgeleyen çalışma sayfasının B sutununa 06.01.2011 tarihini girdiğimde bu bilgi ayın ilk 7 gününü simgeleyen çalışma sayfasında yer almalı.

Aşağıda bunlara ilşkin detaylı bilgi verdim. Bu şekilde olma şansı var ise yardımcı olmanızı diliyorum. Yada sizin göndermiş olduğunu dosyada nasıl değiliklikler yaparak bunu sağlayabilirim.



1-2-3- vb çalışma sayfaları ayın günlerini temsil ediyor. Belli tarih aralıkları ile belirtilen çalışma sayfaları da bir ay içeri sinde günler bazında verilerin aktarılacağı dönemleri ifade ediliyor.

Ayın günlerini temsil eden çalışma sayfalarının (ayın 1 ile 31 temsil eden herhangi bir çalışma sayfasının ) B sütununa ayın ilk 7 günü ile ilgili bir tarih girersem bu veriyi 01.01.2011 – 07.01.2011 olarak isimlendirdiğim çalışma sayfasına aktarsın. Ayın 08 ile 14 arasında bir tarih girersem (ayın 8 ve 14 dahil) bu veriyi 08.01.2011 – 14.01.2011 olarak isimlendirdiğim çalışma sayfasına aktarsın. Ayın 15 ile 21 arasında bir tarih girersem (ayın 15 ve 21 dahil) bu veriyi 15.01.2011 – 21.01.2011 olarak isimlendirdiğim çalışma sayfasına aktarsın. Ayın 22 ile 28 arasında bir tarih girersem (ayın 22 ve 28 dahil) bu veriyi yor.22.01.2011 – 28.01.2011 olarak isimlendirdiğim çalışma sayfasına aktarsın Ayın 29 ile 31 arasında bir tarih girersem (ayın 29 u ve 31 dahil) bu veriyi 29.01.2011 – 31.01.2011 olarak isimlendirdiğim çalışma sayfasına aktarsın.

Mesela ayın 19 simgeleyen çalışma sayfasının B sütununa (İrsaliye Tarihi) 13.01.2011 tarihini yazarsam bu veriyi aktaracağı haftalık rapor sayfası 8-14 aralığı verilen rapor sayfası olması gerekiyor.

Çalışma kitabının en sonuna eklediğim aylık raporu ise ayın günlerini ifade eden çalışma sayfalarında C sütununda yer alan tarihe ilişkin verileri baz alarak, veri aktarsın. (Yani ayın günlerini ifade eden bu çalışma sayfalarının içeriğini olduğu gibi buraya yazsın)Bilmiyorum yapılabilir bir şey mi, yada anlatabildim mi?
 
Üst