excel vba中,如何让宏一直处于运行状态。

2024-12-15 19:40:42
推荐回答(5个)
回答1:

你没有激发事件啊。看看我修改后的代码,只要选择的单元格是A17,就会执行。
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
With Target
If .Row = 17 And .Column = 1 Then
If .Value = "Dosol" + " " + "skirts" Then
Range("A18").Value = "hello" + " " + "454," + " " + "makesure" + " " + "iloveyou"
ElseIf .Value = "Sky" Then
Range("A18").Value = "good," + " " + "Inow" + " " + "speaking,"
End If
End If
End With
End Sub

回答2:

你的宏写法不对,文本怎么能相加呢? 如果要连接 也只能用&
如果想要A18单元格因为A17单元格变化而变化,就是需要一个A17单元格的一个触发事件
这个事件是 worksheet_change() 单元格内容改变事件
写法是
private sub worksheet_change(byval target as range)
end sub

回答3:

你还是在A18中输入公式吧。。。。。
=IF(A17="Dosol skirts","hello 454 makesure iloveyou",IF(A17="sky","good Inow speaking,",""))

回答4:

把代码放到 worksheet 的 change 模块里面,应该就可以触发了

回答5:

根据你的描述,可以断定你的代码不是写在单元格事件中。
你的代码应该放到单元格事件中去。当单元格发生变化时运行宏。 HI我,帮你搞定