2013-01-17 85 views
0

我正在尝试使用箭头键为所创建的公式创建一个用于选择单元格的多个热点字符串。AutoHotKey Excel热点公式使用箭头键为公式找到单元格

:*:=concacane:: 
send =CONCATENATE({right},{right 2},{right 3}) 
return 

以上是我希望将努力称之为“CONCATENATE”功能,并选择三个单元,以我在输入单元格的右边的代码。不幸的是Excel中似乎逃避我是将电池在工作中,我最终将逗号和括号分布在右侧的几个单元格中,而不是我正在寻找的工作公式。

我尝试使用'sendraw',并在'= CONCATENATE('''''''''''''''''''''''''''''''''后加了一切,希望'='是某种改变了我的动作,但似乎没有我也尝试使用组合键而不是热键,但我无法得到该脚本做任何事情,而且组合键也不会理想......

有没有人有任何想法能得到这个工作?在此先感谢!

回答

0

我认为一旦你周围添加{右}命令的空间,这将工作。

:*:cc\:: ; cc\ is shorter for me than =concacane 
Send, =CONCATENATE({right 1} , {right 2} , {right 3}) {Enter} 
Return 

在Excel中测试它,它的工作原理。

+0

完成谢谢你的关注。我尝试了一下你的代码,由于某种原因它导致了一个空单元,就好像AHK清除了热点字符串,然后发送线路失败了。 – user1988168

+0

我不得不承认,我在OpenOffice Calc里面试过这个问题,在那里你的原始代码给了问题,间隔出来的代码工作正常。我用= {right}&{right}&{right} {Enter}尝试了它。确保以{Enter}结尾。 –

+0

我刚刚尝试了最新的代码,它对我来说也很好。万分感谢! – user1988168

0

这可以在COM

:*:cc\:: 
send, {Escape} 
XlApp := ComObjActive("Excel.Application") 
a := XlApp.ActiveCell.Offset(0,1).Address 
b := XlApp.ActiveCell.Offset(0,2).Address 
c := XlApp.ActiveCell.Offset(0,3).Address 
XlApp.ActiveCell.Offset(0,0).value := "=CONCATENATE(" a "," b "," c ")" 
Return