BeforeSelChange
选择不同的单元格前执行,也就是表的RowSel、ColSel属性发生变化前执行。
e参数属性:
Table: 引发事件的Table
OldRange:CellRange类型,表示操作前选定的区域
NewRange: CellRange类型,表示操作后选定的区域
Cancel: 逻辑型,设为True取消操作
示例一
例如希望某个表在换行前保存选定行,可以将其BeforeSelChange事件代码设置为:
If e.OldRange.RowSel
<> e.NewRange.RowSel '如果选择的是不同的行
If e.OldRange.RowSel
>= 0 AndAlso e.OldRange.Rowsel
< e.Table.Rows.Count Then '而且原来选择的是一个有效的数据行
Dim r As Row
= e.Table.Rows(e.OldRange.Rowsel) '获得原来选择的行
r.Save() '保存之
End If
End If
示例二
如果没有输入编号列内容,则禁止选择其它行:
If e.OldRange.RowSel
<> e.NewRange.RowSel '如果选择的是不同的行
If e.OldRange.RowSel
>= 0 AndAlso e.OldRange.Rowsel
< e.Table.Rows.Count Then '而且原来选择的是一个有效的数据行
Dim r As Row
= e.Table.Rows(e.OldRange.Rowsel) '获得原来选择的行
If r.IsNull("编号") Then '如果编号为空
e.Cancel
= True
End If
End
If
End If