谢谢二位,有一个新的问题在请教。。 如何解这个死循环??
所在版块:社会百科 发贴时间:2009-07-28 17:40

用户信息
复制本帖HTML代码
高亮: 今天贴 X 昨天贴 X 前天贴 X 
原来的问题我写了这样一个程序去模拟:(在A1中输入任意integer, 然后pop up message 告诉变化多少)

Private Sub Worksheet_Change(ByVal Target As Range)
Static i As Integer
i = Range("A1").Value
If Target.Address = "$A$1" Then

If i > Range("B1").Value Then _
MsgBox "value increased by " & i - Range("B1").Value Else _
MsgBox "value decreased by " & Range("B1").Value - i
End If
Application.EnableEvents = False
Range("B1").Value = Range("A1").Value

Application.EnableEvents = True
End Sub


但是这个程序只能在人工手动在A1中输入数据时管用(似乎一定要press enter, 或者tab才行),我的application 是从外面连一个external data 到excel 中, worksheet_change 不能detect 到数据的变化。

所以我又想了一招,,考虑能不能先在VBA中写一个赋值语句,让B1=A1,, 然后detect B1 是否有变化,,但是这么做得到了一个死循环,, 各位有什么办法解这个循环呢?

死循环程序如下(输入任意interger 在A1, 令 B1 随着 A1的变化而改变,,然后Popup message 告诉B1有变化):

Private Sub Worksheet_Change(ByVal Target As Range)

Range("B1").Value = Range("A1").Value
If Target.Address = "$B$1" Then
MsgBox "B1 changed"
End If

End Sub

请教如何解决啊?




.
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!

 相关帖子 我要回复↙ ↗回到正文
请教excel 的问题,,请高人指点一下。。。   (393 bytes , 657reads )
谢谢二位,有一个新的问题在请教。。 如何解这个死循环??   (1171 bytes , 311reads )
用两个Excel文件可以解决 nus_card   (150 bytes , 397reads )
试了下,若你的数据存入A.txt文件里才可以 nus_card   (159 bytes , 371reads )
监视excel的worksheet change event. gsos   (107 bytes , 516reads )
建议 nus_card   (139 bytes , 370reads )