Excel 基于非用户输入的连接

Excel 基于非用户输入的连接,excel,vba,concatenation,Excel,Vba,Concatenation,我有一个excel文件,包含4张工作表。基于数据组织的3张数据表。然后1张纸供用户输入。每个Orgs表都有多达20列A-T的数据,我想连接这些数据。因此,基本上,如果用户在输入页面的a栏中输入一个值,那么U栏中的其他三张表将进行填充。例如,假设A列有一个值,F列和H列。这些列将在其他3张表的U列中连接 我目前有一个公式,在Excel中用一堆IF语句来实现这一点,但这非常缓慢,因为一些数据集的表非常大。一个具有超过140K行数据的数据库。因此,我希望找到一种使用VBA的方法来检查输入表中的哪些列已

我有一个excel文件,包含4张工作表。基于数据组织的3张数据表。然后1张纸供用户输入。每个Orgs表都有多达20列A-T的数据,我想连接这些数据。因此,基本上,如果用户在输入页面的a栏中输入一个值,那么U栏中的其他三张表将进行填充。例如,假设A列有一个值,F列和H列。这些列将在其他3张表的U列中连接

我目前有一个公式,在Excel中用一堆IF语句来实现这一点,但这非常缓慢,因为一些数据集的表非常大。一个具有超过140K行数据的数据库。因此,我希望找到一种使用VBA的方法来检查输入表中的哪些列已填充,然后在此基础上连接到数据表中。我有一个搜索按钮,并关闭了自动公式,因此搜索按钮目前会计算所有公式。所以我可以运行这个代码了。但我对VBA了解不多,如果它能加快这一过程,那么就目前而言,这可能需要一点时间。我附上了一些输入和数据表的截图。但是数据被隐藏了

目前,我在Excel公式运行后进行了一些查找,以将值返回给用户。组织1和组织2都有20列A:T,组织3有18列A:R。所以这是3个数据表中唯一的不同

再一次,我要做的就是将用户输入的任何列连接到每个工作表中,每个工作表上有数千行

输入表

组织1和组织2的工作表是什么样的

ORG3表是什么样子的


感谢您的帮助。我在这里看到了VBA连接,但与此任务完全不同。

VBA通常比等效的本机函数慢。当然,可能有一种更聪明的方法来处理它。您可以使用
工作表.Change
事件。将其设置为检查
Target
(发生更改的单元格/单元格)是否在用户输入范围/列中。如果是,则更新同一行中连接单元格的值(或者如果
Target
是多个单元格,则检查并更新
Target
中的每个单元格)。请参阅Microsoft提供的。