• DİKKAT

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

Seçili yıla ait kayıtları arşive aktarma

  • Konbuyu başlatan Konbuyu başlatan mkuru28
  • Başlangıç tarihi Başlangıç tarihi
Katılım
27 Eylül 2023
Mesajlar
76
Excel Vers. ve Dili
Office 2016 Türkçe
Merhaba arkadaşlar.
Ekli örnek dosyada detaylı olarak anlattığım gibi kurum resmi araç görev kayıtlarını tuttuğum bir çalışma kitabım var. Bu çalışma kitabında verileri DEFTER isimli sayfaya işliyorum. Yıl bitince önceki yıllara ait kayıtları arşive aktarmak istiyorum. Burada yapmak istediğim birçok yıla ait kayıtlar arasından seçtiğim yıla ait olan kayıtları arşivlemek istiyorum. Örnek çalışma kitabı ektedir. Yardımcı olabilecek arkadaşlara şimdiden teşekkür ederim.

Örnek dosya
 
kontrol eder misiniz eğer doya indiremiyorsanız bu kodu ekleyin
Kod:
Sub secili_yili_arsive_aktar()

    Dim ws As Worksheet
    Dim arsiv As Worksheet
    Dim yil As Integer
    Dim i As Integer
    
    ' Hedef yılı belirle
    yil = Range("F2").Value
    
    ' Arşiv sayfasını belirle
    Set arsiv = Sheets("ARŞİV")
    
    ' Hedef yılı kontrol et ve arşive taşı
    For Each ws In ThisWorkbook.Sheets
        If ws.Name <> "ARŞİV" Then
            For i = 100 To 5 Step -1
                If ws.Range("K" & i).Value = yil Then
                    ws.Rows(i).Copy arsiv.Rows(arsiv.Cells(arsiv.Rows.Count, "B").End(xlUp).Row + 1)
                    ws.Rows(i).Delete
                End If
            Next i
        End If
    Next ws
End Sub
 

Ekli dosyalar

Çok teşekkür ederim arkadaşlar. İyi ki varsınız.
 
Kod:
Sub secili_yili_arsive_aktar()
    Dim son&, yil
    With Sheets("DEFTER")
        yil = .Range("F2").Value
        If yil <> "" Then
            son = .Cells(Rows.Count, 2).End(3).Row
            With .Range("B4:M" & son)
                .AutoFilter Field:=10, Criteria1:=yil
                If Evaluate("SUBTOTAL(3,B5:B" & son & ")") > 1 Then
                    .Rows(2 & ":" & son - 3).Copy Sheets("ARŞİV").Cells(Rows.Count, 2).End(3).Offset(1)
                    .Rows(2 & ":" & son - 3).Delete shift:=xlUp
                End If
                .AutoFilter
            End With
        End If
    End With
End Sub
 
Geri
Üst