2013-08-21 103 views
0

我有一个看起来像这样的excel文件:Excel单元格匹配

列A。B列。 C列。
细胞1A            细胞1B            电池1C            
电池2a            电池2b            细胞2C            
细胞3A            细胞3B            细胞3C            

我需要作出authotkey脚本,可以通过在一列中的所有细胞,如柱A进行搜索,并且如果电池内的值的值相匹配(例如),然后我需要它返回列C的那一行的值。

例如,假设单元格3A(它在列A中)包含值1337,剪贴板包含1337的值。这是一个匹配,并在这个poi nt我需要它返回单元格3C中的值(C列)。

我不知道如何去获得AHK匹配值(剪贴板或其他)到excel列中的单元格,或如何使AHK从单元格中吐出一个值,如单元格3C一个Excel文件。

任何帮助非常感谢!

+0

提供您的代码并描述失败的位置。详细说明你的程序如何工作:输入来自哪里?输入是什么样子的?它如何进入剪贴板?你可以像这样检查是否相等:'if(varA = varB)'。对于Excel自动化,请查看[COM](http://www.autohotkey.com/board/topic/69033-basic-ahk-l-com-tutorial-for-excel/)。 – MCL

回答

0

这可能是一个小错误,但这里有一些代码让你开始。您可能需要增加Sleep次,以使其更可靠。

InputBox, Rows, Number of Rows ; 3 in example 
Inputbox, Separation, Separation between columns ; 2 in example 
Sleep 3000 ; 3 seconds to select 1A in example 
clipboard_backup := clipboard 
Loop % Rows 
{  
    Copy() 
    ; My excel was adding an extra character when copying, this removes any non-characters 
    clipboard := RegExReplace(clipboard, "\W", "") 
    if (clipboard = clipboard_backup) 
    { 
     Send, {Right %Separation%} 
     Copy() 
     Send, {Left %Separation%} 
     Tooltip, %clipboard% 
     Sleep 1000 
     Send, ^v 
    } 
    Send {Down} 
} 
ToolTip, 

Copy() 
{ 
    global 
    clipboard = 
    Send ^c 
    ClipWait, 4 
} 
相关问题