VBA匹配或在具有多个出现的工作簿之间查找

时间:2018-01-10 19:26:07

标签: excel vba excel-vba excel-formula

我有一个宏,需要编辑才能添加更多步骤。我需要完成(通过插入公式或其他方法)以下内容:

我需要从活动工作簿/工作表A1获取值到另一个文件(我的文件名已经存储在变量中作为wb1)表“数据”(或者我将工作簿和工作表存储在变量中作为sht1),以及计算出现的次数。如果计数小于2,则需要将列A的值作为结果放置,如果它是2(它将永远不会超过2),则放置我指定的文本。如果找不到该值,则应该指出0.我希望该值是最终结果,我不希望将公式存储在工作表中。

我打算用好ol' 。式 。值  但我的问题是,我不知道如何使用变量声明countifs / lookup的文件名。

由于工作表名称是动态的,并且会逐月更改,但是将始终存储在前面提到的两个变量中(在用户打开另一个步骤时),我需要以这种方式存储它,并且不能调用它按确切名称。

在弄清楚我可以使用“& sht1&”之后,我开始思考,这甚至是有效的方法吗?主表包含25k行并且正在增长,我计算的第二张表几乎等于它。

我现在手动执行此操作:

=IFERROR(IF(COUNTIFS(Data!B:B,A5)<2, Data!A:A, VLOOKUP(A5,Data!A:B,2,FALSE)),"Both")

需要一段时间才能处理..如果结果为0则不显示0.

有没有更好的方法来解决这个问题?

我希望我解释这一点的方式是有道理的。

第一张图是工作簿1的示例,主要活动工作表

Picture 1

其次是Workbook 2的示例,标题为Data

的工作表

Picture 2

0 个答案:

没有答案