Haftanın Günü

Katılım
12 Ocak 2007
Mesajlar
465
Excel Vers. ve Dili
2003
Sn dostlar çokça örnek karıştırdım sitede ama yinede yapamadım.zaten bu koduda siteden bir dost hazırlamıştı.ben alt alta yıla göre ayların iş günlerini sıralatıyorum.ancak ay sonunda bir sonraki aya taşmalar oluyor.ekli dosyamdada izah etmeye çalıştım.bu taşmaları önlemenin bir yolu varsa ve yardım ederseniz sevinirim.saygılarımla.
 

muygun

Özel Üye
Katılım
6 Temmuz 2004
Mesajlar
9,108
Excel Vers. ve Dili
Excel-2003 Türkçe
Slm.
Tablonuzda bazı formülleri , birkaç verinizi ve hücre (renk ve kenar çizgileri) biçimlerini değiştirdim.
Şayet isteğinizi karşılıyorsa gerekli düzeltmeleri yaparsınız.
İyi çalışmalar.
 
Katılım
13 Mayıs 2008
Mesajlar
70
Excel Vers. ve Dili
2019 Türkçe
Altın Üyelik Bitiş Tarihi
05.01.2023
teşekkür ederiz
 
Katılım
12 Ocak 2007
Mesajlar
465
Excel Vers. ve Dili
2003
sayın muygun bebeğimin rahat vermemesi nedeniyle dün akşam konumu takip edemedim.şimdi açabildim ve inceliycem .emeklerinize teşekkürler.saygılarımla
 
Katılım
12 Ocak 2007
Mesajlar
465
Excel Vers. ve Dili
2003
sayın muygun toplam hanesini B5 hücresinden başlatmanızın formülün işleyişi açısından gereği varmı acaba.çünki ben ay sonu toplamlarını alıyorum.gerçi o satırı gizleyerekte çözebiliriz sanırım.çok güzel olmuş elinize sağlık.
 
Katılım
12 Ocak 2007
Mesajlar
465
Excel Vers. ve Dili
2003
hocam sorun yok elinize sağlık teşekkürler
 
Son düzenleme:

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,233
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Bu mesajı bir kaç kez okumama rağmen işlerimden dolayı bir türlü makrolu çözümü sunamamıştım. Bugün işlerime biraz ara vererek ve birazda uzun bir yöntemle makrolu çözüm sunmaya çalıştım.

Bende Sayın muygun gibi özellikle makroda renklerle boğuşmamak için formatınızı değiştirdim.

Örnek olması açısından belki yararlı olabilir.


Kod:
Public Sub AyGunYaz()
Application.ScreenUpdating = False
Set s1 = Sheets("Sayfa1")
s1.Select
Dim Tarih As Date
Dim Satır, EskiSatır, Ay As Integer
Tarih = DateSerial(s1.[Y1], 1, 1)
Satır = 3
EskiSatır = 4
Ay = 1
s1.Range("A4:AA300").ClearContents
s1.Rows("4:300").Delete
Do While s1.[Y1] = Year(Tarih)
 
If Ay <> Month(Tarih) Then
Satır = Satır + 1
Ay = Month(Tarih)
Call ToplamYaz(EskiSatır, Satır)
EskiSatır = Satır + 1
End If
 
If Weekday(Tarih, vbMonday) < 6 Then
Satır = Satır + 1
s1.Cells(Satır, "A") = Tarih
End If
Tarih = Tarih + 1
 
Loop
 
Satır = Satır + 1
Call ToplamYaz(EskiSatır, Satır)
Application.ScreenUpdating = True
MsgBox "İşlem Tamamlanmıştır."
End Sub

Kod:
Sub ToplamYaz(ESatır, Sat)
Set s1 = Sheets("Sayfa1")
s1.Cells(Sat, "A") = "TOPLAM"
s1.Cells(Sat, "B") = "=SUM(B" & ESatır & ":B" & Sat - 1 & ")"
s1.Range("B" & Sat).AutoFill Destination:=s1.Range("B" & Sat & ":AA" & Sat), Type:=xlFillDefault
s1.Range("A" & Sat & ":AA" & Sat).Font.Bold = True
s1.Range("A" & Sat & ":AA" & Sat).Font.ColorIndex = 2
s1.Range("A" & Sat & ":AA" & Sat).Interior.ColorIndex = 1
End Sub
 
Son düzenleme:
Katılım
26 Kasım 2005
Mesajlar
397
Excel Vers. ve Dili
Office 365
Altarnetif bir cevap

bir inceleyin kaydetme tuşu ile her ayın bilgilerini kaydediyor. ve güncelle tuşu ile o ayıın günlerini ve kaydetmiş olduğunuz bilgilerinizi getiriyor.
 
Son düzenleme:
Üst