如何保持vba中的细胞变化记录 [英] How to keep record of cell changing in vba

查看:94
本文介绍了如何保持vba中的细胞变化记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

程序说明每当cell正在更改时,我希望这个程序进入msgbox。例如如果我在row1和row2 BBB中有AAA,我希望我的代码识别单元格是否从一个字符串更改为另一个字符串。

Program Description I want this program to msgbox every time when cell is changing. For ex. If i have AAA in row1 and row2 BBB i want my code to recognize when cell is changing from one string to another string.

问题我从来没有使用过更改功能,所以我不知道在我的代码中使用它。任何人都可以帮助我了解如何使用更改功能或任何其他方式来跟踪字符串更改。不知怎的,我的更改功能不起作用。

Problem I never used change function before so i don't know where to use it in my code. Can anyone help me out with how to use change function or any other ways to keep track of string changing. Somehow my change function not working.

Sub xym()

    Dim x As String, dtext, lastrow As Long, ws1 As Worksheet, wb As Workbook
    Dim rangnum As Range, i As Long
    Set wb = ActiveWorkbook
    Set ws1 = wb.Worksheets("Sheet1")
    lastrow = ws1.UsedRange.Rows.Count + 1
    Set rangenum = ws1.Range("A1:A" & lastrow)
    dtext = rangenum.Value

    For i = 1 To UBound(dtext, 1)
        If dtext(i,1).change then msgbox "yes"
    Next i

End Sub


推荐答案

请尝试这样:

Sub xym()
    Dim i&, v
    With Sheet1.[a1]
        v = .Resize(.Item(.Parent.Rows.Count).End(xlUp)(2).Row)
    End With
    For i = 2 To UBound(v) - 1
        If v(i, 1) <> v(i - 1, 1) Then
            MsgBox "Yes." & vbLf & "Cell A" & i & " is different."
        End If
    Next
End Sub

这篇关于如何保持vba中的细胞变化记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆