【问题标题】:Excel cell matchingExcel 单元格匹配
【发布时间】:2013-08-21 15:25:38
【问题描述】:

我有一个如下所示的 excel 文件:

A 列 .B 列 .C 列 .
单元格 1A      单元格 1B Cell 1C      
Cell 2A      Cell 2B      Cell 2C      
Cell 3A      单元格 3B      单元格 3C      

我需要制作一个自动键脚本,可以搜索列中的所有单元格,例如 A 列,如果单元格内的值与剪贴板中当前的值匹配(例如),那么我需要它为 C 列返回该行的值。

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

我不知道如何让 AHK 将值(剪贴板或其他)匹配到 excel 列中的单元格,或者如何让 AHK 从单元格中吐出一个值,例如 Cell 3C excel文件。

非常感谢任何帮助!

【问题讨论】:

  • 提供您的代码并描述失败的地方。详细说明你的程序是如何工作的:输入来自哪里?输入到底是什么样的?它是如何进入剪贴板的?您可以像这样检查是否相等:if(varA = varB)。对于 Excel 自动化,请查看COM

标签: excel autohotkey


【解决方案1】:

这可能有点错误,但这里有一些代码可以帮助您入门。您可能需要增加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
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-21
    • 2017-05-07
    • 1970-01-01
    • 1970-01-01
    • 2018-11-01
    • 1970-01-01
    • 2018-04-13
    • 1970-01-01
    相关资源
    最近更新 更多