我有两个工作簿,一个是数据(我们称之为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 | ... |
答案 0 :(得分:0)
您可以使用vlookup执行搜索并按照以下说明获得更好的性能。
将WB1设置为源,将WB2设置为目标工作。
使用“For循环”选择WB1中的项目。确保选择适当的列及其元组
对于rowIndex = 2到lastRow
(或者使用范围)
在搜索之间执行vlookup。
粘贴/显示所需列中的输出
增加循环(下一行索引)。
(如果您需要确切的代码段,请告诉我)
此致 摩尼
答案 1 :(得分:0)
以下是代码段
*指出要记住
阶段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
[请记住使用符合您要求的相应数据类型声明变量] /
此致 摩尼