EXCEL vb SendKeys "^{a}",true 让他不选中空白文本

SendKeys "^{V}",true
SendKeys "^{a}",true '这里全选时,文本下面总是有很多空白区域。如何让他不选中这些空白区域呢,就只到文本的最后即可

Range("D4").Select
   Selection.Copy
上面两句COPY时会将回车符也COPY进去,所以全选时会选中换行符.

你将D4的值赋给变量,SENDKEYS 变量就可以了.

Sub 复制()
D4 = Range("D4").Value
np = Shell("NOTEPAD.EXE", vbNormalFocus)
AppActivate np
SendKeys D4, True
SendKeys "^a", True
SendKeys "^c", True
End Sub

来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-01-04
全选功能你全理解了吗

如果选择在有数据的单元格:
全选1次,会首先全选择有内容的单元格的区域,

全选2次,扩大范围,基本是整个工作表

如果你不太懂这些功能,你还是不要自己编写了
ps: sheet1.usedrange.select 选择工作表的有内容区域

你可以试试,不行就不要自己编程了 嘿嘿追问

咳,你没理解,全语句是Sub 复制()
Range("D4").Select
Selection.Copy
np = Shell("NOTEPAD.EXE", vbNormalFocus)
AppActivate np
SendKeys "^{V}",true
SendKeys "^{a}",true ‘空白被选
SendKeys "^{c}",true

Sub 复制()
Range("D4").Select
Selection.Copy
np = Shell("NOTEPAD.EXE", vbNormalFocus)
AppActivate np
SendKeys "^{V}",true
SendKeys "^{a}",true ‘记事本中,全选时,不要尾部空白
SendKeys "^{c}",true

追答

这个确实不会

本回答被网友采纳
相似回答