【问题标题】:insert values from one sheet to another将值从一张纸插入另一张纸
【发布时间】:2023-04-09 07:20:02
【问题描述】:

我有两张纸

PRINTSCREEN

在 sheet1 中,我有一些重复的代码。在第二张表中,我有一个只出现一次的代码列表,其中包含来自 sheet1 的代码。

我想在 VBA 中创建一个函数,它在 sheet2 中搜索 sheet1 中“code”列中的值,对于 sheet1 中的每个代码,我想将 sheet2 第 4 和 5 列中对应的值插入到第 4 列和第 5 列中找到的行。

我尝试了一些东西,但我是初学者:

Dim FindRowNumber As Long
For Each rw In ActiveSheet.Rows
FindRowNumber = Sheet2.Range("A1:F1000").Value.Find(What:=Cells(rw.Row, 1), LookIn:=xlValues)
GetValue1 = Sheet2.Cells(FindRowNumber , 4)
GetValue2 = Sheet2.Cells(FindRowNumber , 5)
Cells(rw.Row, 4).Value =GetValue1 
Cells(rw.Row, 5).Value =GetValue2
Exit For

【问题讨论】:

  • 你不能只用VLOOKUP吗?
  • 在使用 Ranges(包括.Cells())时,请务必明确告诉 VBA 您正在使用哪些工作表:FindRowNumber = Sheet2.Range("A1:F1000").Value.Find(What:=Sheet2.Cells(rw.Row, 1), LookIn:=xlValues)

标签: vba excel


【解决方案1】:

嘿 :) 我认为您不需要 VBA。您可以在第 4 列或第 5 列中使用 VLOOKUP 从表 1 中提取匹配值。 类似于 =VLOOKUP(A1,Sheet1!$A$1:$A$10,1,FALSE)

【讨论】:

  • @Boniette - 要将 A 列中的代码添加到 JKnapp,您的代码必须是唯一的(否则 VLOOKUP 只会找到第一个。(看起来您的数据有精确的重复,所以在那里还可以)。不要忘记FALSE - 这意味着完全匹配。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-14
相关资源
最近更新 更多