Example 1: vba excel create event log
Private Sub Worksheet_Activate()
ActiveSheet.Unprotect
End Sub
Example 2: vba excel create event log
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim sh As Worksheet
For Each sh In ThisWorkbook.Worksheets
sh.Protect
Next sh
End Sub
Example 3: vba excel create event log
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Worksheets("Sheet1").Range("A1") = Format(Now, "dd-mmm-yyyy hh:mm:ss")
End Sub
Example 4: vba excel create event log
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If SaveAsUI Then MsgBox "Save this File in the K Drive"
End Sub
Example 5: vba excel create event log
Private Sub Workbook_NewSheet(ByVal Sh As Object)
On Error Resume Next
Sh.Range("A1") = Format(Now, "dd-mmm-yyyy hh:mm:ss")
End Sub
Example 6: vba excel create event log
Sub MessageTime()
Application.OnTime TimeValue("14:00:00"), "ShowMessage"
End Sub
Sub ShowMessage()
MsgBox "It's Lunch Time"
End Sub
Example 7: vba excel create event log
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
CurrFormat = Target.Font.Strikethrough
If CurrFormat Then
Target.Font.Strikethrough = False
Else
Target.Font.Strikethrough = True
End If
End Sub
Example 8: vba excel create event log
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End Sub
Example 9: vba excel create event log
Dim NextRefresh as Date
Sub RefreshSheet()
ThisWorkbook.Worksheets("Sheet1").Calculate
NextRefresh = Now + TimeValue("00:05:00")
Application.OnTime NextRefresh, "RefreshSheet"
End Sub
Sub StopRefresh()
On Error Resume Next
Application.OnTime NextRefresh, "RefreshSheet", , False
End Sub
Example 10: vba excel create event log
Changes that do not trigger
change the formatting of the cell (font size, color, border, etc.).
merge cells. This is surprising as sometimes, merging cells also removes content from all the cells except the top-left one.
add, delete, or edit a cell comment.
sort a range of cells.
use Goal Seek.
changes that do trigger the event
Copy and pasting formatting
Clearing formatting
Running a spell
Private Sub Worksheet_Change(ByVal Target As Range)
MsgBox "You just changed " & Target.Address
End Sub