bir yan hücredeki tarihe bakıp, o ayın son gününü yazdırma

Katılım
21 Ocak 2008
Mesajlar
329
Excel Vers. ve Dili
Excel 2013 / Türkçe
Örnek dosyada [ B4 ] hücresine hangi tarihi yazarsam yazayım, [ C4 ] hücresine o ayın son gününü yazdırmak istiyorum ama beceremedim. Bunu nasıl yazdırabilirim?



 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,579
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
Kod ile cozum :

Dosyayı kod calısması icin .xlsm olarak ayarlayın

Dosyada sayfa1 b ve c sutununu tarih olarak bicimlendirin

Sayfa1 kod bolumune yapıstırın


Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    ' B sütununda (B2'den sonrasındaki hücrelerde) değişiklik yapılırsa
    If Not Intersect(Target, Me.Range("B2:B" & Me.Cells(Rows.Count, "B").End(xlUp).Row)) Is Nothing Then
        Dim tarih As Date
        Dim sonGun As Date
        Dim Cell As Range
      
        ' Değiştirilen hücrelerdeki her bir satır için işlemi yap
        For Each Cell In Intersect(Target, Me.Range("B2:B" & Me.Cells(Rows.Count, "B").End(xlUp).Row))
            ' Eğer hücrede geçerli bir tarih varsa
            If IsDate(Cell.Value) Then
                tarih = Cell.Value
                sonGun = WorksheetFunction.EoMonth(tarih, 0)  ' O ayın son gününü bul
                ' C sütununa o ayın son gününü yaz
                Me.Cells(Cell.Row, "C").Value = sonGun
            End If
        Next Cell
    End If
End Sub
Dosyayı save edin ve b sutununda tarih yazmayı deneyin. Excel 2013 bende olmadıgından formul denemesi yapamadım , kullanan arkadaslar bunu da saglayabilir.

Excel 2010 da denemesi ile



Önemli:

  • B sütununa yazılan her tarih değişikliği, C sütununu otomatik olarak güncelleyecektir.
  • B sütunundaki her hücreye geçerli bir tarih yazmanız gerekmektedir. Eğer geçerli bir tarih değilse, C sütunu boş kalacaktır.
 
Son düzenleme:
Üst