excel VBA单元格输入触发后台程序
比如EXCELsheet1中有三个单元格,A1,A2,A3,,就是在A1和A2里输入数值,,A3里就显示A1+A2的值。。。一般情况就是在A3里写“=A1+A2“,如果不...
比如EXCEL sheet1中有三个单元格,A1,A2,A3,,就是在A1和A2里输入数值,,A3里就显示A1+A2的值。。。一般情况就是在A3里写“=A1+A2“, 如果不这么写,,写在后台程序里呢,,只要A1和A2有值输入,程序就运行,A3值就有变化。。。。我看网上那些程序都是需要手动运行程序和需要按钮完成的,不有这些可以吗,,,只要单元格A1输入就触发一下程序。 帮忙写下,谢谢。
展开
4个回答
展开全部
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Or Target.Address = "$A$2" Then
[A3] = [A1] + [A2]
End If
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ALT+F11 打开代码编辑窗口, 复制代码到 thisworkbook 模块
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If [A1] <> "" And [A2 ] <> "" Then [A3] = "=A1+A2"
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-07-02
展开全部
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Long
With Target
For i = 1 To .Count
Select Case .Cells(i).Address
Case "$A$1"
If IsNumeric(Range("$A$1")) And IsNumeric(Range("$A$2")) Then _
Range("$A$3") = Range("$A$1") + Range("$A$2")
Case "$A$2"
If IsNumeric(Range("$A$1")) And IsNumeric(Range("$A$2")) Then _
Range("$A$3") = Range("$A$1") + Range("$A$2")
End Select
Next i
End With
End Sub
选中你的 sheet标签,右键,点击查看代码,将上述代码复制进去,就可以在A1、A2输数字,A3得结果了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 1 And Target.Column = 1 Then
[A3] = [A1] + [A2]
End If
End Sub
If Target.Row = 1 And Target.Column = 1 Then
[A3] = [A1] + [A2]
End If
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询