Excel Değişikliklerini Yapan Kullanıcıyla Birlikte Kaydetme

  • Konuyu başlatan Konuyu başlatan extra
  • Başlangıç tarihi Başlangıç tarihi
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

extra

Kullanıcı
Katkı: %0
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhaba arkadaşlar,

Selamlar,

Bir excel dosyasında yapılan tüm değişiklikleri (SATIR ve sutunda yapılan silme ekleme değiştirme işlemelerinin) hangi kullanıcı veya bilgisayar tarafından yapıldığının kayıtları gösteren bir yöntem var mı acaba ?
 
Çözüm
Merhaba, bu kaydı makroyla tutabilirsiniz. Aşağıdaki kod, çalışma kitabındaki değişiklikleri tarih, Windows kullanıcı adı, bilgisayar adı, sayfa, adres ve işlem türüyle birlikte DegisiklikKaydi adlı bir sayfaya satır satır yazar. ALT+F11 ile VBA ekranını açıp sol taraftaki ThisWorkbook bölümüne çift tıklayın ve kodu yapıştırın:

Kod:
Bu kodu görmek için giriş yapmanız gerekmektedir (12 satır). Giriş Yap
Dosya açık olduğu sürece belli bir işlemi hafıza da tutuyor excel. (Geri al ileri al) Kayıt işlemi yapılınca bunlar hafızadan silinir. Malum bilgisayarı verimli kullanmak gerek. Bu işinizi görmeyecektir anladığım kadarıyla.
Size önerim ise dosyanın makro çalışma durumunu aktif edip yapılan tüm işlemleri bir fonksiyonu tetiklemesini sağlamak. Fonksiyonda belli bir dosyaya yada excelde ki bir sayfaya işlemleri satır satır kaydetmesi sağlanır.
Tabi tüm işlemleri yakalar mı excel bakmak gerek.
 
Benim fikrim ise; yapılan işlemlerin kaydını tutmak yerine,
belgede kullanım kısıtlamaları uygulanmasının daha pratik olacağı yönünde.

Örneğin yeni sayfa(lar) eklenmesi, mevcut sayfa(lar)nın silinmesinin önlenmesi,
belli sütun(lar)/satır(lar)ın kullanılmasının engellenmesi, sadece belirtilen alanlara veri girişi yapılmaya zorlanması vs.
İlle de kayıt tutulacaksa da; belirtilen sınırlamalar uygulandıktan sonra, belirlenecek alanlara yapılacak veri girişlerine dair LOG benzeri kayıt tutulması daha anlamlı bence.
 
Merhaba, bu kaydı makroyla tutabilirsiniz. Aşağıdaki kod, çalışma kitabındaki değişiklikleri tarih, Windows kullanıcı adı, bilgisayar adı, sayfa, adres ve işlem türüyle birlikte DegisiklikKaydi adlı bir sayfaya satır satır yazar. ALT+F11 ile VBA ekranını açıp sol taraftaki ThisWorkbook bölümüne çift tıklayın ve kodu yapıştırın:

Kod:
Bu kodu görmek için giriş yapmanız gerekmektedir (47 satır). Giriş Yap

Kod nasıl çalışır?
  1. Workbook_SheetChange olayı, kitaptaki herhangi bir sayfada hücre değiştiğinde, satır ya da sütun eklenip silindiğinde çalışır.
  2. DegisiklikKaydi sayfası yoksa ilk değişiklikte başlıklarıyla birlikte otomatik oluşturulur; bu sayfadaki değişiklikler kayda alınmaz.
  3. Değişen alan tam satırsa "Satır ekleme/silme/temizleme", tam sütunsa "Sütun ekleme/silme/temizleme" olarak yazılır. Tek hücrede yeni değer ya da formül, Yeni İçerik sütununa kaydedilir.
  4. Environ("USERNAME") Windows oturum adını, Environ("COMPUTERNAME") bilgisayar adını, Application.UserName ise Excel seçeneklerindeki kullanıcı adını verir.

Notlar
  • Dosya .xlsm olarak kaydedilmeli ve makrolar etkin olmalıdır; makrolar devre dışıyken yapılan değişiklikler kaydedilmez. Yalnız biçim değişiklikleri (renk, kenarlık, sayı biçimi) ve satır/sütun gizleme bu olayı tetiklemez.
  • Makro bir işlem yaptığında Excel'in Geri Al listesi temizlenir; bu nedenle değişiklikten sonra Geri Al kullanılamaz.
  • Kayıt sayfasının elle değiştirilmesini önlemek için VBA ekranında bu sayfanın Visible özelliği 2 - xlSheetVeryHidden yapılabilir ve VBA projesine parola konulabilir.
  • Kod eski değeri tutmaz; eski değer de gerekiyorsa dosya OneDrive veya SharePoint üzerinde kullanılarak Gözden Geçir > Değişiklikleri Göster bölümünden ya da Sürüm Geçmişi'nden önceki hâller görülebilir.
 
Çözüm
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Geri
Üst