乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 关于<em>Excel</em> vba编程中的Worksheet_Chang...-excel

关于<em>Excel</em> vba编程中的Worksheet_Chang...-excel

作者:乔山办公网日期:

返回目录:excel表格制作


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set Target = Application.Union(Target, Target)
[b1] = Application.WorksheetFunction.Sum(Target)
End Sub

不用vba

选择A列到F列,如图设置数据有效性



这样拖放,粘贴进去1-9以外的数都不会出错。


Change 事件

当用户更改工作表中的单元格,或外部链接引起单元格的更改时产生此事件。

Private Sub Worksheet_Change(ByVal Target  As Range)

Target   更改的区域。可以是多个单元格。

重新计算引起的单元格更改不触发本事件。

示例:

当工作表区域Columns(“A:E”)内值发生改变时,触发工作表Change事件,撤消操作。

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Column <= 4 Then
'停止响应事
Application.EnableEvents = False
'撤消上一操作
Application.Undo
Application.EnableEvents = True
End If
End With
End Sub


增加一行判断函数试试:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not (Target.Cells.Row = 2 And Target.Cells.Column = 1) Then Exit Sub

If Sheets("检查标记").Cells(2, 1).Value = 1 Then
Sheets("检查标记").Unprotect Password:="123"
Sheets("检查标记").Cells(1, 1).Value = "标记"
Sheets("检查标记").Cells(2, 1).Value = 0
Sheets("检查标记").Protect Password:="123"

Else
Exit Sub
End If
End Sub

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网