EXCEL的VBA代码,求修改

PrivateSubWorkbook_SheetSelectionChange(ByValShAsObject,ByValTargetAsRange)IfTarget.C... Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Column = 1 Or Target.Count > 1 Or ActiveSheet.Name = "首页汇总" Then Exit Sub
If Target.Column = 4 And Target.Offset(0, -1) <> "" And Target.Offset(0, 1) = "" Then
Application.SendKeys "%{DOWN}"
ElseIf Target.Column = 5 And Target.Offset(0, -1) <> "" Then
Application.SendKeys "%{DOWN}"
End If
End Sub
--------------------------------------
这里Application.SendKeys "%{DOWN}"后面,要加多一个模拟按键Application.SendKeys "{DOWN}",结果就没有反应了,这样能怎么修改呢
展开
 我来答
姓王的wy451

2019-07-24 · TA获得超过48.3万个赞
知道大有可为答主
回答量:8万
采纳率:78%
帮助的人:8976万
展开全部
求别人修改代码,你不说明你代码想达到的目的别人也不好改呀,因为你的代码也许无法满足要求,别人也改不了,多数时候要换个思路来解决问题,不能在一棵树上吊死。从其他几位的回答和你的追问分析,你是想选中的单元格下拉选择第一项,那将以下这句
Application.SendKeys "%{DOWN}"
改为
Target = Split(Target.Validation.Formula1, ",")(0)
即可
蚂小蚁摆渡
2019-07-23 · TA获得超过711个赞
知道小有建树答主
回答量:1293
采纳率:62%
帮助的人:227万
展开全部
不知道你要干啥。{down}只是选中,实测代码没问题。
你需要的仅仅是选中吗,还是要进行输入,如果要完成输入,再加一个{enter}才行。
更多追问追答
追问
%{DOWN},出现下拉框,然后需要{DOWN},才会选择下拉框里面的东西,不知道你怎么实测的,ALT+下,是下拉框,再按下,才能选择到下拉框的东西
追答
对的啊,down是选中了,选中了,然后呢,你没要求输入呀,就那么选中了而已嘛。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
柔软的Bp
科技发烧友

2019-07-22 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:3万
采纳率:66%
帮助的人:9045万
展开全部
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 4 And Target.Offset(0, -1) <> "" And Target.Offset(0, 1) = "" Then
Application.SendKeys ("%{down}")

End If
End Sub
其他仿照修改
更多追问追答
追问
你这个不成功的,在你的Application.SendKeys ("%{down}")后面再来个,就不会触发了
追答
你这个触发是有条件的

Target.Column = 4 And Target.Offset(0, -1) "" And Target.Offset(0, 1) = ""
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式