如何使用VBA触发某个功能键比如F9
答案:4 悬赏:70 手机版
解决时间 2021-01-27 17:06
- 提问者网友:浩歌待明月
- 2021-01-27 04:20
如何使用VBA触发某个功能键比如F9
最佳答案
- 五星知识达人网友:底特律间谍
- 2021-01-27 04:44
下面代码能满足你的要求,以附件为证。有问题请联系
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [B1]) Is Nothing Then '如果修改的单元格是B1的内容
MsgBox "点击确定后程序将帮你按下F9键"
SendKeys "{F9}" '按下F9
Call QA '运行宏QA
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [B1]) Is Nothing Then '如果修改的单元格是B1的内容
MsgBox "点击确定后程序将帮你按下F9键"
SendKeys "{F9}" '按下F9
Call QA '运行宏QA
End If
End Sub
全部回答
- 1楼网友:舍身薄凉客
- 2021-01-27 07:18
在sheet1中可以设定吧,用change属性吧。可以试试,我没试过追问不好意思,我需要的是一段完整的VBA代码,不是公式或者设定,而是希望其能自动触发,还是谢谢你的建议
- 2楼网友:春色三分
- 2021-01-27 06:32
'以下是当B1发生改变时,自动运行以下程序,将下面的代码复制到,所在的工作表。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
call QA
end if
End Sub
'QA过程最好连着放到下面,如果不放到下面,call QA改成QA所在的位置.
'比如QA在模块1: call 模块1.QA
sub QA
'你的程序代码
end sub追问假如改变的不只是B1,而是介于B1到D12的范围内的任意一个或多个单元格改变,请问代码应该如何写呢?另外好像调用QA,不需要用call,直接QA就行,是不是?
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$B$1" Then
call QA
end if
End Sub
'QA过程最好连着放到下面,如果不放到下面,call QA改成QA所在的位置.
'比如QA在模块1: call 模块1.QA
sub QA
'你的程序代码
end sub追问假如改变的不只是B1,而是介于B1到D12的范围内的任意一个或多个单元格改变,请问代码应该如何写呢?另外好像调用QA,不需要用call,直接QA就行,是不是?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯