Excel VBA 中的 Vlookup
Vlookup in Excel VBA
美好的一天。
使用Vlookup找到单元格后是否可以更改?
x = Application.WorksheetFunction.VLookup(y, worksheet.range, 2, False)
returns x 的值,基于使用 Vlookup 找到的内容。但是,您能否将该单元格更改为另一个值,例如
Application.WorksheetFunction.VLookup(Y, worksheet.range, 2, False) = z
不,vlookup 为您提供它找到的单元格中的值,而不是对单元格值 属性 的引用。您将需要使用 find 方法在匹配值范围内找到相关单元格,然后使用 offset 移动到包含您要更改的值的列。
我不是 excel vba 人,但我认为这样的事情应该可行...
worksheet.range.Find(Y, lookin:=xlValues).Offset(0,2).Value = z
我假设 "worksheet.range" 包含有效的单元格范围。此外,如果您期望有多个匹配项,您可能需要遍历查找的结果。我忘记了 Offset 是否只是抓住范围内的第一个单元格然后从中偏移。
美好的一天。
使用Vlookup找到单元格后是否可以更改?
x = Application.WorksheetFunction.VLookup(y, worksheet.range, 2, False)
returns x 的值,基于使用 Vlookup 找到的内容。但是,您能否将该单元格更改为另一个值,例如
Application.WorksheetFunction.VLookup(Y, worksheet.range, 2, False) = z
不,vlookup 为您提供它找到的单元格中的值,而不是对单元格值 属性 的引用。您将需要使用 find 方法在匹配值范围内找到相关单元格,然后使用 offset 移动到包含您要更改的值的列。
我不是 excel vba 人,但我认为这样的事情应该可行...
worksheet.range.Find(Y, lookin:=xlValues).Offset(0,2).Value = z
我假设 "worksheet.range" 包含有效的单元格范围。此外,如果您期望有多个匹配项,您可能需要遍历查找的结果。我忘记了 Offset 是否只是抓住范围内的第一个单元格然后从中偏移。