[英]Excel Macro (VBA) that checks cell values against a list in another workbook
我有两个工作簿,一个是数据(我们称为 WB 1),它需要对照包含条目真实值的另一工作簿(我们称为 WB 2)上的值检查列 k 中的值。 每个条目都有一个附加的数量,因此价格因数量而异。 WB 1 在一个列表中,每行都有条目,WB 2 每行都有一个项目,每列是该数量的价格。 我需要一个宏来相互检查这些值,并用 WB 2 中的正确值替换 WB 1 上的任何值。
示例数据:
WB 1
| Column A | Column C | Column K |
---------------------------------
| Item Name | 30 | $5.42 |
WB 2
| Column A | Column F | Column G | Column H | ... |
15 30 45
--------------------------------------------------
| Item Name | $2.86 | $4.53 | $6.00 | ... |
您可以使用 vlookup 执行搜索并按照以下说明进行操作以获得更好的性能。
将 WB1 设置为源工作,将 WB2 设置为目标工作。
使用“For 循环”选择 WB1 中的项目。 确保选择适当的列及其元组
对于 rowIndex = 2 到 lastRow
(或者使用范围)
在搜索之间执行 vlookup。
在所需列中粘贴/显示输出
递增循环(下一行索引)。
(如果您需要确切的代码片段,请告诉我)
问候, 玛尼
这是代码片段
*要记住的要点
阶段 1:加载工作簿
阶段 2:计算/操作/逻辑
lastRow = SourceData.Rows.Count
For rowIndex= 2 to lastRow
lTemp = sourceWorksheet.Cells(rowIndex, "Q").Value
lDigit = VLOOKUP( value, table, index_number, [not_exact_match] ) 'not_exact_match is usually false
DestinationWorksheet.Cells(rowIndex, "AM").Value = lDigit
next rowIndex
[记得使用符合您要求的适当数据类型声明变量]/
问候, 玛尼
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.