• DİKKAT

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

Dosya Açıldığında Log Kaydı Alma

Hattushil

Altın Üye
Katılım
20 Şubat 2011
Mesajlar
100
Excel Vers. ve Dili
Office 365 Türkçe
Aşağıda paylaştığım örnek excel tablomda dosyayı açıp değişiklik yapılınca YEDEK sheetine log kaydı atıyor.
Bu alanda dosya açıldığında kimin tarafından açıldığı kaydını bir türlü ekleyemedim.
Yardımcı olursanız sevinirim.

Bir diğer sorum ise dosyada kullandığım formülleri yeni satır eklendiğinde nasıl otomatik kopyalatabilirim?

Not: YEDEK sheeti gizli olduğu için F11 ile açılıpı F12 ile gizleniyor.
 

Ekli dosyalar

Sheets("YEDEK").Cells(Satır, 4) = Environ("Username") yapınız.
 
Yok kendi dosyanıza satır,4 olan yeri değiştireceksiniz
 
Verdiğiniz dosyada loglama işlemi çalışmıyor zaten.

Kullanıcı bilgisi için sizin kodlarda Application.UserName yerine Environ("Username") yazmanızı önerdim.
 
Verdiğiniz dosyada loglama işlemi çalışmıyor zaten.

Kullanıcı bilgisi için sizin kodlarda Application.UserName yerine Environ("Username") yazmanızı önerdim.

son halini bu şekilde düzenledim
sizin yazdığınız kodu da 4. satır ile değiştiridim.

yanlış mı yaptım acaba bakabilir misiniz?
 

Ekli dosyalar

Dosyayı açınca herhangi bir log düşmüyor. Sizde çalışıyorsa kullanıcı adını loglaması gerekir.
 
Dosyayı açınca herhangi bir log düşmüyor. Sizde çalışıyorsa kullanıcı adını loglaması gerekir.

değişiklik yaptığımda log kaydı atıyor ama sadece dosyayı açtığımda düşmüyor.
bunun için nasıl bir kod lazım?
 

Burada eklemiştim zaten. Sadece dosya açılınca loglar.
 
ThisWorkbook bölümündeki Private Sub Workbook_Open() olayını değiştirmeniz gerekir.

C++:
Private Sub Workbook_Open()
    Sheets("YEDEK").Visible = 2
    Application.OnKey "{F11}", "GÖSTER"
    Application.OnKey "{F12}", "GİZLE"

    On Error Resume Next
    Satır = WorksheetFunction.CountA(Sheets("YEDEK").Range("A:A")) + 1
    Sheets("YEDEK").Cells(Satır, 1) = Satır - 1
    Sheets("YEDEK").Cells(Satır, 2) = Date
    Sheets("YEDEK").Cells(Satır, 3) = Time
    Sheets("YEDEK").Cells(Satır, 4) = Environ("Username")
    Sheets("YEDEK").Cells(Satır, 5) = "Dosya Açıldı !"
    Sheets("YEDEK").Cells.EntireColumn.AutoFit
End Sub
 
ThisWorkbook bölümündeki Private Sub Workbook_Open() olayını değiştirmeniz gerekir.

C++:
Private Sub Workbook_Open()
    Sheets("YEDEK").Visible = 2
    Application.OnKey "{F11}", "GÖSTER"
    Application.OnKey "{F12}", "GİZLE"

    On Error Resume Next
    Satır = WorksheetFunction.CountA(Sheets("YEDEK").Range("A:A")) + 1
    Sheets("YEDEK").Cells(Satır, 1) = Satır - 1
    Sheets("YEDEK").Cells(Satır, 2) = Date
    Sheets("YEDEK").Cells(Satır, 3) = Time
    Sheets("YEDEK").Cells(Satır, 4) = Environ("Username")
    Sheets("YEDEK").Cells(Satır, 5) = "Dosya Açıldı !"
    Sheets("YEDEK").Cells.EntireColumn.AutoFit
End Sub

teşekkür ederim Korhan AYHAN hocam
denedim oldu
 
Geri
Üst