Worksheet.Change 事件 (Excel)

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

语法

表达式更改 (目标)

表达 一个代表 Worksheet 对象的变量。

参数

名称 必需/可选 数据类型 说明
Target 必需 Range 更改的区域。 可以是多个单元格。

返回值

Nothing

备注

当单元格在重新计算过程中更改时,不会发生该事件。 使用 Calculate 事件捕获工作表重新计算。

示例

以下代码示例将更改的单元格的颜色设为蓝色。

Private Sub Worksheet_Change(ByVal Target as Range) 
    Target.Font.ColorIndex = 5 
End Sub

以下代码示例将验证以下内容:当单元格值发生更改时,更改的单元格是否位于 A 列,并且单元格的更改值是否大于 100。 如果值大于 100,则 B 列中的相邻单元格的颜色将变为红色。

Private Sub Worksheet_Change(ByVal Target As Excel.Range) 
    If Target.Column = 1 Then 
        ThisRow = Target.Row 
        If Target.Value > 100 Then 
            Range("B" & ThisRow).Interior.ColorIndex = 3 
        Else 
            Range("B" & ThisRow).Interior.ColorIndex = xlColorIndexNone 
        End If 
    End If 
End Sub

在单元格中输入数据时,以下代码示例将 A1:A10 区域中的值设为大写。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A1:A10")) Is Nothing Or Target.Cells.Count > 1 Then Exit Sub
    Application.EnableEvents = False
    'Set the values to be uppercase
    Target.Value = UCase(Target.Value)
    Application.EnableEvents = True
End Sub

支持和反馈

有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。