• DİKKAT

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

Soru Tarihe Göre Aktar

  • Konbuyu başlatan Konbuyu başlatan Hsn55
  • Başlangıç tarihi Başlangıç tarihi
Katılım
7 Şubat 2021
Mesajlar
594
Excel Vers. ve Dili
2010, Türkiye
İyi günler;
Ekli dosyada veri girişi sayfasında D5 hücresinden ayı seçtiğimde D8 hücresindeki araziye çıkılan gün sayısını Mesai Sayfasında bulunan ayların karşısına aktaracak;
Not: Her 3 ay aktarıldıktan sonra 4. Ayı aktardığımızda önceki aktarılan ilk üç ay silinecek

Örnek: Ocak-Şubat-Mart aylarını aktarıp Nisan ayı aktarılınca Ocak-Şubat-Mart Silinerek Nisan ayı kalacak. Bu diğer aylarda da böyle olacak

 
Merhaba.

Kod:
Sub Aktar()
    Dim Bul As Range
    With Worksheets("MESAİ TOPLAM")
        If WorksheetFunction.CountIf(.Range("C11:C22"), "<>") >= 3 Then
            .Range("C11:C22").ClearContents
        End If
        Set Bul = .Range("B11:B22").Find(Range("D5"))
        Bul.Offset(0, 1) = Range("D8")
    End With
End Sub
 
Hocam çok teşekkür ederim. Tam istediğim şekilde çalışıyor. Buton başka sayfada olduğu için hata veriyor. Veri Girişi sayfasını tanımlama nasıl yaparız?
 
Hocam Veri Girişi Sayfasında D5 hücresindeki ay formatını ben 01.01.2023 şeklinde girdiğim zaman yine aynı yerlere aktarım yapabilir mi
 
Deneyiniz.
Kod:
Sub Aktar()
    Dim Bul As Range
    Dim AyAdı As String
    With Worksheets("MESAİ TOPLAM")
        If WorksheetFunction.CountIf(.Range("C11:C22"), "<>") >= 3 Then
            .Range("C11:C22").ClearContents
        End If
        AyAdı = Replace(UCase(Format(Range("D5"), "MMMM")), "I", "İ")
        Set Bul = .Range("B11:B22").Find(AyAdı)
        Bul.Offset(0, 1) = Range("D8")
    End With
End Sub
 
Muzaffer bey çok teşekkür ederim. Ellerinize sağlık
 
Muzaffer bey şöyle bir sorun var. 3 adet kayıt yaptıktan sonra örneğin ocak,şubat, mart ayları. Ayı değiştirmeden tekrar butonu tıkladığımda öncekileri siliyor. Oysa ben Mart ayında olduğum halde.
 
Kod:
Sub Aktar()
    Dim Bul As Range
    Dim AyAdı As String
    With Worksheets("MESAİ TOPLAM")
        AyAdı = Replace(UCase(Format(Range("D5"), "MMMM")), "I", "İ")
        Set Bul = .Range("B11:B22").Find(AyAdı)
        If Bul.Offset(0, 1) = "" And WorksheetFunction.CountIf(.Range("C11:C22"), "<>") >= 3 Then
            .Range("C11:C22").ClearContents
        End If
        Bul.Offset(0, 1) = Range("D8")
    End With
End Sub
 
Çok teşekkür ederim. İyi akşamlar
 
Geri
Üst