上一章给大家分享了Workbook的事件中的Workbook_BeforeClose事件的过程,该过程的使用方法,需要注意的事项,今天继续给大家分享关于Workbook事件中的Workbook_sheetchange事件过程和Workbook_BeforeSave事件的使用和注意事项。
Workbook_sheetchange事件过程的主要功能就是在工作薄中的任意内容发生改变的时候,就会自动运行程序事件。
好的下面我们就一起通过一个简单的事例给大家看看。
Workbook_sheetchange事件中有二个必需的参数:
第一个参数Sh:数据类型是object主要表示一个工作表
第二个参数Target:是Range数据类型,主要表示该的是哪个区域。
注意:这种事件的运行只会发生在数据工作表中,并不会发生在图表工作表中。
下面就开始一个很小的事例给大家先看看:
主要的目的就是让大家看到怎么才能触发该事件过程。
先看看运行结果:
代码:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
MsgBox “工作簿中的数据发生改变,运行该程序”
End Sub
简单解释代码:
下面我们再看一个事件BeforeSave,这个事件有二个参数都是布尔类型,而且都是必须的,
主要功能就是这个事件实在保存工作之前就发生。
下面要使用的数据表格:
主要作用就是在我删除一条数据的时候,我要触发该事件。
运行结果:
代码:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If WorksheetFunction.CountA(Worksheets(“Sheet2”).Range(“A2:A10”)) < 9 Then
MsgBox “工作簿中的指定工作表的数据条数发生变化不能保存,请检查!”
Cancel = True
End If
End Sub
简单解释代码: