Tarihe Göre Verileri Gruplama.

Katılım
16 Kasım 2017
Mesajlar
255
Excel Vers. ve Dili
office professional plus 2021
İyi günler iyi çalışmalar. Dosyamda verileri aynı tarihe göre gruplamak istiyorum. ANASAYFA sayfasının A sütununda tarihler B sütununda veriler var. Sayfa da veriler 4. satırdan başlıyor. Tam olarak istediğim aynı tarihleri, örneğin; 01.01.2018 tarihli veriden 3 adet varsa bu verilerden sonra bir satır boşluk bıraksın 02.01.2018 den 5 adet veri varsa bunlar sıralandıktan sonra bir satır boşluk bıraksın. Yani verileri aynı güne göre gruplasın. Yardımlarınız için teşekkür ederim.
ÖRNEK TABLO:
A SÜTUNU B SÜTUNU
01.01.2018 VERİLER
01.01.2018 VERİLER
BOŞ SATIR
02.01.2018 VERİLER
02.01.2018 VERİLER
02.01.2018 VERİLER
02.01.2018 VERİLER
BOŞ SATIR
03.01.2018 VERİLER
03.01.2018 VERİLER
03.01.2018 VERİLER
BOŞ SATIR
 
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Deneyiniz.
Kod:
Sub SIRALAMA()
Dim s1 As Worksheet: Dim i As Integer
Set s1 = Sheets("Sayfa1")
Application.ScreenUpdating = False
son = s1.Cells(65355, "A").End(3).Row
s1.Range("A4:U" & son).MergeCells = False
s1.Range("A4:U" & son).Sort Range("A4"), xlAscending
son1 = s1.Cells(65355, "A").End(3).Row
If son > son1 Then
Rows(son1 + 1 & ":" & son).Delete Shift:=xlUp
End If
For i = son To 4 Step -1
s1.Range(s1.Cells(i, "C"), s1.Cells(i, "T")).MergeCells = True
If s1.Range("A" & i).Value < s1.Range("A" & i + 1) Then
s1.Rows(i + 1).Insert Shift:=xlDown
s1.Range(s1.Cells(i + 1, "C"), s1.Cells(i + 1, "T")).MergeCells = True
s1.Cells(i + 1, "B") = ".........."
i = i + 1
End If
Next
Application.ScreenUpdating = True
MsgBox "İŞLEM TAMAM", vbInformation
End Sub
 
Son düzenleme:
Katılım
16 Kasım 2017
Mesajlar
255
Excel Vers. ve Dili
office professional plus 2021
Dim s1 As Worksheet: Dim i As Integer Set s1 = Sheets("Sayfa1") Application.ScreenUpdating = False son = s1.Cells(65355, "A").End(3).Row s1.Range("A4:B" & son).Sort Range("A4"), xlAscending For i = 4 To son If s1.Range("A" & i).Value < s1.Range("A" & i + 1) Then s1.Rows(i + 1).Insert Shift:=xlDown i = i + 1 End If Next Application.ScreenUpdating = True
ÇITIR Hocam ALLAH RAZI Olsun tam istediğim gibi oldu süpersiniz çok teşekkür ederim eksik olmayın. Birde ben bu makroyu diğer çalışmalarıma uygulamaya çalıştım şöyle bir prüz çıktı. Diğer çalışmalarımın taslağıda aynı sayılır. Onlarda da A sütununda tarih var B sütununda veri C den T ye kadar olan hücreler birleşik ve U Hücresinde veri var, Yani bir satırda A,B,C VE U hücrelerinde veri oluyor. Makronuz bir satır boşluk bırakınca C hücresi birleşik olduğu için çözülüyor ve C ve T arası hücreler ortaya çıkıyor. Makro şöyle yeni satır eklerken satırın biçimi de aynı kalsa veya yeni eklediği satırda C ve T arası hücreleri birleştirse çok güzel olacak Hocam.
 
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
#2 Nolu iletideki makroyu isteğinize göre değiştirdim.Umarım istediğiniz gibi olmuşdur. Allah(C.C.) Cümlemizden razı olsun.Dönüş yaptığınız için teşekkür ederim.
 
Katılım
16 Kasım 2017
Mesajlar
255
Excel Vers. ve Dili
office professional plus 2021
#2 Nolu iletideki makroyu isteğinize göre değiştirdim.Umarım istediğiniz gibi olmuşdur. Allah(C.C.) Cümlemizden razı olsun.Dönüş yaptığınız için teşekkür ederim.
Amin İNŞALLAH ÇITIR Hocam. Asıl ben teşekkür ederim size vakit ayırıp yardım ettiğiniz için çok çok sağolun tekrar tekrar teşekkür ederim. Siz beni hatırladınız mı bilmiyorum ama daha önce bana çok makro yapmış ve bir çok kodlarımı düzeltmiştiniz ayrıca formüllerde de çok yardım ettiniz sağolun varolun, Çalışmamı kullandığım zamanlar kullanmadığım zamanda tabi ki yardımı olan herkese ALLAH RAZI Olsun derim hep. Hocam ben çok sorularla sizi sık boğaz edip rahatsız etmek istemiyorum fakat affınıza mahçuben söylüyorum, son yaptığınız kodlarla tam istediğim gibi oldu fakat nedense anlayamadım verilerinin son satırlarını gruplamıyor arada boş satır bırakmıyor ve satır genişliğini 69 yapıyor. Şimdi dosyamı inceliyorum benim biçimlendirmelerden mi kaynaklanıyor yoksa başka biyerden baz alıp mı bozuluyor henüz çözemedim şuan incelemedeyim.
NOT: ÇITIR HOCAM yeni bir sayfa açtım orda denedim aynısını yaptı son satırlardaki c hücrelerini yine çözüyor ayrıca.
 
Son düzenleme:
Katılım
16 Kasım 2017
Mesajlar
255
Excel Vers. ve Dili
office professional plus 2021
Katılım
16 Kasım 2017
Mesajlar
255
Excel Vers. ve Dili
office professional plus 2021
Katılım
16 Kasım 2017
Mesajlar
255
Excel Vers. ve Dili
office professional plus 2021
HOCAM buldum çözümü sanırım;
şu kod s1.Rows(i + 1).Insert shift:=xlDown bu kodun altına gelecek s1.Range(s1.Cells(i + 1, "C"), s1.Cells(i + 1, "T")).MergeCells = True
yani ikisi yer değiştirecek şuan oluyor san ki.
Hocam çıkamıyorum işin içinden 2 gündür bunla uğraşıyorum :(
 
Son düzenleme:
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
#2 nolu iletide gerekli düzenleme yapıldı.Tekrar kopyalayarak deneyiniz.
 
Katılım
16 Kasım 2017
Mesajlar
255
Excel Vers. ve Dili
office professional plus 2021
#2 nolu iletide gerekli düzenleme yapıldı.Tekrar kopyalayarak deneyiniz.
Tamamdır ÇITIR Hocam çok güzel oldu elinize emeğinize sağlık çok meşgul ettim sizi tekarar ALLAH C.C RAZI OLSUN İNŞALLAH ALLAH da sizi sevindirsin sizden çok şey öğrendim. sayenizde bir çalışmamı daha bitirmek üzereyim. Hocam çok şeyler sormak istemiyorum ama kendimi tutamıyorum heycan işte. Boş bir zamnınızda yazarsanız sevinirim 2 şey merak ediyorum.

1- yeni eklenen boş satırlara nokta koymak için şu kodu yapıştırıyorum ama veriler bittikten sonra da 10 satıra nokta koymaya devam ediyor anlamadım Cells(i + 1, "B") = "."

2- acaba güne göre değildi farklı bir aya geçince örneğin ocak verileri bitti şubata geçti arada boş bir satır bırakmak için hangi kodları yazmak lazım.
 
Katılım
22 Haziran 2019
Mesajlar
34
Excel Vers. ve Dili
2016 türkçe
Arkadaşlar ben bir excel sayfasında her ay yapılan mal alışları ile o ayda yapılan ödemeleri farklı bir excel sayfasında toplamak istiyorum, örneğin haziran ayında A Firmasından ne kadar mal alışı yapılmış ve bu ayda o firmaya ne kadar ödeme yapılmış, ve bu bilgilerin her bilgi girişi sonrası güncellenmesini istiyorum. Bunun için nasıl bir formül önerirsiniz.

  1. işlem tarih alınan mal tutarı ödeme
  2. mal alışı 12.06.2019 xxx 1.500
  3. mal alışı 18.06.2019 yyy 2.300
  4. mal alışı 21.06.2019 zzz 3.250
  5. ödeme 23.06.2019 nakit ödeme 1.800
  6. mal alışı 25.06.2019 bbbb 1.150
  7. ödeme 26.06.2019 nakit ödeme 2.300

Buradaki verileri diğer bir excel sayfasında toplamak istiyorum. haziran ayına ait mal alımlarına yapılan toplam harcama ile haziran ayında yapılan ödemelerin toplamını görmek istiyorum. Bunun her ay tekrarlanmasını istiyorum
 
Son düzenleme:
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Sayın erkan kıyak;
Foruma hoş geldiniz.
Sorunuzu uygun bir başlık ile yeni bir konu açarak ve "örnek" excel dosyası ekleyerek sorarsanız, daha hızlı ve doğru cevaplar alabilirsiniz. Örnek excel dosyası ekleme hakkında...
 
Katılım
22 Haziran 2019
Mesajlar
34
Excel Vers. ve Dili
2016 türkçe
Sayın erkan kıyak;
Foruma hoş geldiniz.
Sorunuzu uygun bir başlık ile yeni bir konu açarak ve "örnek" excel dosyası ekleyerek sorarsanız, daha hızlı ve doğru cevaplar alabilirsiniz. Örnek excel dosyası ekleme hakkında...
Nasıl yeni bir konu açabileceğimi anlatırsanız çok sevinirim
 
Katılım
16 Kasım 2017
Mesajlar
255
Excel Vers. ve Dili
office professional plus 2021
#2 nolu iletide gerekli düzenleme yapıldı.Tekrar kopyalayarak deneyiniz.
Hocam sağolun kodlara ilave yapmışsınız. 2. kez makroyu çalıştırınca benim dediğim gibi yapıyor galiba başta sayfayı temizleme kodları olmadığı için. Zaten bende aşağıdaki makroyla sizin makroyla birleştirmeye çalışıyorum. acaba birleşirmi yoksa ikisini sırasıylamı çalıştırmak lazım:rolleyes:
sizin kodları alta ekledim sırada hata var diyor :(

Sub Tarihe_Gore_Tum_Verileri_Getir_Hizli()
Application.ScreenUpdating = False
Dim s1 As Worksheet: Dim i As Integer, S2 As Worksheet
Dim Ilk_Tarih As Date, Son_Tarih As Date, Satir As Long
Set s1 = Sheets("ANA SAYFA")
Set S2 = Sheets("KAYITLAR")
Son = s1.Cells(65355, "A").End(3).Row
s1.Range("A4:U" & Son).MergeCells = False
s1.Range("A4:U" & Son).Sort Range("A4"), xlAscending
s1.Range("A4:U" & s1.Rows.Count).ClearContents
For i = Son To 4 Step -1
Ilk_Tarih = s1.Range("A2").Value
Son_Tarih = s1.Range("B2").Value

S2.Range("A3:U" & S2.Rows.Count).AutoFilter 1, Criteria1:=">=" & CLng(Ilk_Tarih), Operator:=xlAnd, Criteria2:="<=" & CLng(Son_Tarih)

Satir = S2.Cells(S2.Rows.Count, 1).End(3).Row
Sheets("KAYITLAR").Select
Selection.AutoFilter
If Satir > 3 Then
s1.Range("A4:U" & Satir).Value = S2.Range("A4:U" & Satir).Value
End If
s1.Range("A4:U" & Son).MergeCells = False
s1.Range("A4:U" & Son).Sort Range("A4"), xlAscending
s1.Range(s1.Cells(i, "C"), s1.Cells(i, "T")).MergeCells = True
If s1.Range("A" & i).Value < s1.Range("A" & i + 1) Then
s1.Rows(i + 1).Insert Shift:=xlDown
s1.Range(s1.Cells(i + 1, "C"), s1.Cells(i + 1, "T")).MergeCells = True
s1.Cells(i + 1, "B") = "BİTTİ"
i = i + 1
End If
Next
Set s1 = Nothing
Set S2 = Nothing
Application.ScreenUpdating = True
Sheets("ANA SAYFA").Select
Range("A4").Select
End Sub
 
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
İlk makrodunuzu altına benim yazdığım makroyu çağırarak deneyiniz makronuz bittikten sonra
call sıralama yazınız.Denemedim ama olur diye düşünüyorum.
 
Üst