前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >保存输入的值:Worksheet_Change事件应用示例

保存输入的值:Worksheet_Change事件应用示例

作者头像
fanjy
发布2022-04-13 13:21:24
1.4K0
发布2022-04-13 13:21:24
举报
文章被收录于专栏:完美Excel完美Excel

标签:VBA,Worksheet_Change事件

我们可以在工作表中保存所有输入的值,而不受工作簿是否关闭的影响。

情形1:保留所有输入数字中的最小值和最大值

在单元格A2输入数字,单元格B2中会保存所有输入数字中的最小值,单元格C2中会保存所有输入数字中的最大值,如下图1所示。

图1

代码如下:

代码语言:javascript
复制
Private Sub Worksheet_Change(ByVal Target As Range)
    With Target
        If .Address <> "
        If Len(.Value) = 0 Then Exit Sub
        If .Value <Range("B2").Value Then
            Range("B2").Value =.Value
        End If
        If .Value >Range("C2").Value Then
            Range("C2").Value =.Value
        End If
    End With
End Sub

Worksheet_Change事件监视工作表中的单元格或单元格区域,并在满足条件时执行操作。

上面的代码执行各种检查。如果当前单元格不是单元格A2,则退出程序。如果单元格A2中的内容长度为零,则退出程序。如果代码仍在运行,则表示当前单元格为A2,且单元格A2中的内容长度不为零。

代码:

If .Value < Range("B2").Value Then Range("B2").Value =.Value

如果单元格A2中的值小于单元格B2中的值,则将A2中的值放入单元格B2,这将保留所有输入值的最小值。对于最大值也是如此。

情形2:保留单元格中输入的所有值

将指定单元格中输入的值保留在工作表中,如下图2所示。

图2

代码如下:

代码语言:javascript
复制
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim nextrow As Integer
    Dim Savetxt As Range
    Set Savetext = Range("C1:C100")
    nextrow =Application.WorksheetFunction.CountA(Savetext)
    With Target
        If .Address <> "
        If Len(.Value) = 0 Then Exit Sub
        Range("C" & nextrow +1).Value = .Value
        Range("A1").ClearContents
    End With
End Sub

情形3:将指定单元格区域中输入的值保存

在A1:D5范围内输入单词,这些单词将存储在F列中。

图3

代码如下:

代码语言:javascript
复制
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim nextrow As Integer
    Dim Savetxt As Range
    Set Savetxt = Range("A1:D5")
    nextrow =Application.WorksheetFunction.CountA(Savetxt)
    With Target
        On Error GoTo Handler
        If Target.Column > 4 Then Exit Sub
        If Target.Row > 5 Then Exit Sub
        If Len(.Value) = 0 Then Exit Sub
        Range("F" & nextrow +1).Value = .Value
    End With
Handler:
End Sub
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-03-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档