Miraç CAN yazdı:
- Kod: Tümünü seç
Option Explicit
Private EskiDeger As Variant
Private Durum As Variant
Private Const Gecikme As Date = 10 / 86400
Private Const Onerilen_Zaman As Date = 5 * 60 / 86400
Private Süre As Variant
Private Temps As Date
Private Zaman As Date
Private Sub TimeSlot(Optional Reset As Boolean)
On Error Resume Next
Application.OnTime Temps, Procedure:="BuÇalışmaKitabı.TimeSlot", Schedule:=False
If IsMissing(Reset) Or (Reset = False) Then
If (Zaman <= Gecikme) Then
BuÇalışmaKitabı.Close ([False])
End If
Zaman = Zaman - Gecikme
Else
Zaman = Süre
End If
Temps = Now + Gecikme
Application.OnTime Temps, Procedure:="BuÇalışmaKitabı.TimeSlot"
ActiveWindow.Caption = Split(ActiveWindow.Caption, " [")(0) & " [" & Zaman & "]"
End Sub
Private Sub Workbook_Open()
Do
Loop Until (Süre = False) Or IsDate(Süre)
Süre = IIf(IsDate(Süre), Süre, Onerilen_Zaman)
TimeSlot True
Sheets("Log").Range("a65536").End(3)(2, 2).Value = Format(Now(), "hh:mm:ss")
Sheets("Log").Range("a65536").End(3)(2, 3).Value = ActiveSheet.Name
Sheets("Log").Range("a65536").End(3)(2, 7).Value = "giriş yaptı."
Sheets("Log").Range("a65536").End(3)(2, 8).Value = Environ("username")
Sheets("Log").Range("a65536").End(3)(2, 1).Value = Format(Now(), "dd.mm.yyyy dddd")
Sheets("Log").Range("a65536").End(3).Resize(1, 8).Interior.ColorIndex = 1
Sheets("Log").Range("a65536").End(3).Resize(1, 8).Font.ColorIndex = 4
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnTime Temps, Procedure:="BuÇalışmaKitabı.TimeSlot", Schedule:=False
Sheets("Log").Range("a65536").End(3)(2, 2).Value = Format(Now(), "hh:mm:ss")
Sheets("Log").Range("a65536").End(3)(2, 3).Value = ActiveSheet.Name
Sheets("Log").Range("a65536").End(3)(2, 7).Value = "çıkış yaptı."
Sheets("Log").Range("a65536").End(3)(2, 8).Value = Environ("username")
Sheets("Log").Range("a65536").End(3)(2, 1).Value = Format(Now(), "dd.mm.yyyy dddd")
Sheets("Log").Range("a65536").End(3).Resize(1, 8).Interior.ColorIndex = 1
Sheets("Log").Range("a65536").End(3).Resize(1, 8).Font.ColorIndex = 3
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Application.Caption = ActiveSheet.Name
If Sheets("Log").Log_CheckBox_1.Value = True Then
If Sh.Name <> "Log" Then
Sheets("Log").Range("a65536").End(3)(2, 2).Value = Format(Now(), "hh:mm:ss")
Sheets("Log").Range("a65536").End(3)(2, 3).Value = Sh.Name
Sheets("Log").Range("a65536").End(3)(2, 7).Value = "'sayfasını seçti."
Sheets("Log").Range("a65536").End(3)(2, 8).Value = Environ("username")
Sheets("Log").Range("a65536").End(3)(2, 1).Value = Format(Now(), "dd.mm.yyyy dddd")
End If
Else
End If
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If IsEmpty(Target.Value) Then Durum = "sildi"
If Selection.Count = 1 Then
If Sh.Name <> "Log" Then
Sheets("Log").Range("a65536").End(3)(2, 2).Value = Format(Now(), "hh:mm:ss")
Sheets("Log").Range("a65536").End(3)(2, 3).Value = Sh.Name
Sheets("Log").Hyperlinks.Add Anchor:=Sheets("Log").Range("a65536").End(3)(2, 4), Address:="", SubAddress:="'" & Sh.Name & "'!" & Target.Address(0, 0), TextToDisplay:=Target.Address(0, 0)
Sheets("Log").Range("a65536").End(3)(2, 5).Value = EskiDeger
Sheets("Log").Range("a65536").End(3)(2, 6).Value = Target.Offset(0, 0).Value
Sheets("Log").Range("a65536").End(3)(2, 7).Value = Durum
Sheets("Log").Range("a65536").End(3)(2, 8).Value = Environ("username")
Sheets("Log").Range("a65536").End(3)(2, 1).Value = Format(Now(), "dd.mm.yyyy dddd")
Sheets("Log").Range("a65536").End(3)(1, 1).Borders(1).LineStyle = 3
Sheets("Log").Range("a65536").End(3).Resize(1, 8).Borders(3).LineStyle = 3
Sheets("Log").Range("a65536").End(3).Resize(1, 8).Borders(4).LineStyle = 3
Sheets("Log").Range("a65536").End(3).Resize(1, 8).Interior.ColorIndex = 19
Sheets("Log").Range("a65536").End(3)(1, 8).Borders(2).LineStyle = 3
Else
End If
End If
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
TimeSlot True
If Sheets("Log").Log_CheckBox_2.Value = True Then
If Sh.Name <> "Log" Then
Sheets("Log").Range("a65536").End(3)(2, 2).Value = Format(Now(), "hh:mm:ss")
Sheets("Log").Range("a65536").End(3)(2, 3).Value = Sh.Name
Sheets("Log").Hyperlinks.Add Anchor:=Sheets("Log").Range("a65536").End(3)(2, 4), Address:="", SubAddress:="'" & Sh.Name & "'!" & Target.Address(0, 0), TextToDisplay:=Target.Address(0, 0)
Sheets("Log").Range("a65536").End(3)(2, 7).Value = "'hücresini seçti."
Sheets("Log").Range("a65536").End(3)(2, 8).Value = Environ("username")
Sheets("Log").Range("a65536").End(3)(2, 1).Value = Format(Now(), "dd.mm.yyyy dddd")
End If
Else
End If
If Target.Count > 1 Then Exit Sub
If Target = "" Then
EskiDeger = "boş"
Else: EskiDeger = Target.Value
End If
If EskiDeger = "boş" Then
Durum = "'yazdı."
Else: Durum = "'olarak değiştirdi."
End If
End Sub
Söylemeyi unuttum. Log kaydı dosyası ThisWorkbook sayfa kodları ile değiştirin.