Kodu Düğmeye Atamak

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,716
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

Ek'li 1.kod bu haliyle, ilgili sayfada ("AYLIK") yapılan değişiklikleri "LOG" isimli sayfaya kayıt ediyor,

Ancak ilgili sayfaya ("AYLIK"), bir başka sayfadan ("GÜNLÜK") kod ile aktarma yaptığımda, aktarma yaklaşık 60-65 sn sürüyor, aktarılan sayfadaki ("AYLIK") kodu sildiğimde aktarma 15 sn. sürüyor,

Bu nedenle, ilgili sayfanın ("AYLIK") kodundaki değişiklikleri "LOG" sayfasına yazan makroyu, bir düğmeye atayabilirsek, düğmeyi tıklayınca yapılan değişiklikleri "LOG" sayfasına alabilirim diye düşündüm,

Ekli 2.kod aktarma yapan kod'dur.

1 nci KOD (Aylık Sayfasında Kayıtlı)

Kod:
Dim Eski_Değer
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error Resume Next
    Satır = WorksheetFunction.CountA(Sheets("LOG").Range("A:A")) + 1
    Sheets("LOG").Cells(Satır, 1) = Satır - 1
    Sheets("LOG").Cells(Satır, 2) = Date
    Sheets("LOG").Cells(Satır, 3) = Time
    Sheets("LOG").Cells(Satır, 4) = Application.UserName
    Sheets("LOG").Cells(Satır, 5) = ActiveSheet.Name & "!" & Target.Address(1, 1)
    Sheets("LOG").Cells(Satır, 6) = IIf(Eski_Değer = "", "Boş Hücre", Eski_Değer)
    Sheets("LOG").Cells(Satır, 7) = IIf(Target = "", "Değer Silindi !", Target)
    Sheets("LOG").Cells.EntireColumn.AutoFit
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Eski_Değer = Target
End Sub
2 nci KOD (Modül1'de Kayıtlı)

Kod:
Sub Aylıka_Aktar()

Application.ScreenUpdating = False

    Set S2 = Sheets("GÜNLÜK")
    Set s3 = Sheets("AYLIK")
    ilksatır = 4
    sonsatır = S2.[B10].End(3).Row
    tarih = S2.[B4]
    s3satır = s3.[B65536].End(3).Row + 1
 
    For Satır = ilksatır To sonsatır
     
        s3.Cells(s3satır, 2) = tarih
     
        For i = 3 To 61
            s3.Cells(s3satır, i) = S2.Cells(Satır, i)
        Next i
        s3satır = s3satır + 1
     
    Next
 
Application.ScreenUpdating = True

End Sub
1 nci kodda gerekli düzenlemenin yapılmasını rica ediyorum,

Teşekkür ederim.
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,716
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

Çözüm arayışım devam etmektedir,

Teşekkür ederim.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
İkinci kodun başına Application.EnableEvents = False ve sonuna ApplicationEnableEvents = True satırlarını ekmeyi denediniz mi?
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,716
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Sayın YUSUF44 merhaba,

Öneriniz üzerine, anılan kodları ekledim, sorunum çözüldü,

İlginiz ve çözüm için teşekkür ederim,

Saygılarımla.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Bu vesileyle sayfalarınızda sayfa olaylarına bağlı kodlarınız varsa ve başka kodlarınız (ister sayfa olayı ister modül kodları olsun) o sayfada değişiklik yapıyorsa gereksiz işlem yapılmaması için geçici olarak sayfa olaylarına bağlı kodları pasiflemek gerektiğini hatırlatmış olalım.
 
Üst