[英]How to output the result on different cell? (VBA Excel 2007)
我已经计算了一些值,应该有两个结果。 我想在两个不同的单元格中显示这些结果。
当我更改了A1或A2的值时,excel将停止。 无论如何,我可以显示这些值吗?
Sheet1
Private Sub Worksheet_Change(ByVal Target As Range)
Call DisplayResult
End Sub
Module1
Sub DisplayResult()
Range("A3").Value = Range("A1").Select.Value + Range("A2").Select.Value
Range("B3").Value = Range("B1").Select.Value + Range("B2").Select.Value
End Sub
您完全不需要在这里使用.select-
工作表代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Sheet1.Range("A1:B2"), Target) Is Nothing Then
MsgBox "Hello"
End If
End Sub
模块代码:
Sub DisplayResult()
Sheet1.Range("A3").Value = Sheet1.Range("A1").Value + Sheet1.Range("A2").Value
Sheet1.Range("B3").Value = Sheet1.Range("B1").Value + Sheet1.Range("B2").Value
End Sub
如果将Call DisplayResult
行放置在Worksheet_Change子例程中而不限制应在其触发的范围,则它将最终陷入无限循环(DisplayResult触发Worksheet_Change子例程)。 什么时候应触发DisplayResult代码? 仅当您更改范围A1:B2时?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.