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ı)
2 nci KOD (Modül1'de Kayıtlı)
1 nci kodda gerekli düzenlemenin yapılmasını rica ediyorum,
Teşekkür ederim.
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
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
Teşekkür ederim.