繁体   English   中英

如何在不同的单元格上输出结果? (VBA Excel 2007)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM